[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH 1/8] qdev/pci: add pci_create_noinit()
From: |
Markus Armbruster |
Subject: |
Re: [Qemu-devel] [PATCH 1/8] qdev/pci: add pci_create_noinit() |
Date: |
Fri, 11 Sep 2009 16:14:31 +0200 |
User-agent: |
Gnus/5.11 (Gnus v5.11) Emacs/22.3 (gnu/linux) |
Gerd Hoffmann <address@hidden> writes:
> Like pci_create_simple() but doesn't call qdev_init(), so one can
> set properties before initializing the device.
>
> Signed-off-by: Gerd Hoffmann <address@hidden>
> ---
> hw/pci.c | 11 ++++++++---
> hw/pci.h | 1 +
> 2 files changed, 9 insertions(+), 3 deletions(-)
>
> diff --git a/hw/pci.c b/hw/pci.c
> index c12b0be..64d70ed 100644
> --- a/hw/pci.c
> +++ b/hw/pci.c
> @@ -923,15 +923,20 @@ void pci_qdev_register_many(PCIDeviceInfo *info)
> }
> }
>
> -PCIDevice *pci_create_simple(PCIBus *bus, int devfn, const char *name)
> +PCIDevice *pci_create_noinit(PCIBus *bus, int devfn, const char *name)
> {
> DeviceState *dev;
>
> dev = qdev_create(&bus->qbus, name);
> qdev_prop_set_uint32(dev, "addr", devfn);
> - qdev_init(dev);
> + return DO_UPCAST(PCIDevice, qdev, dev);
> +}
Okay, this is qdev_create() specialized for PCI. What about calling it
just pci_create()?
>
> - return (PCIDevice *)dev;
> +PCIDevice *pci_create_simple(PCIBus *bus, int devfn, const char *name)
> +{
> + PCIDevice *dev = pci_create_noinit(bus, devfn, name);
> + qdev_init(&dev->qdev);
> + return dev;
> }
>
> static int pci_find_space(PCIDevice *pdev, uint8_t size)
> diff --git a/hw/pci.h b/hw/pci.h
> index 6196b6a..e7bf33a 100644
> --- a/hw/pci.h
> +++ b/hw/pci.h
> @@ -328,6 +328,7 @@ void pci_qdev_register(PCIDeviceInfo *info);
> void pci_qdev_register_many(PCIDeviceInfo *info);
>
> PCIDevice *pci_create(const char *name, const char *devaddr);
> +PCIDevice *pci_create_noinit(PCIBus *bus, int devfn, const char *name);
> PCIDevice *pci_create_simple(PCIBus *bus, int devfn, const char *name);
>
> /* lsi53c895a.c */
- [Qemu-devel] [PATCH 0/8] ide: convert to qdev., Gerd Hoffmann, 2009/09/11
- [Qemu-devel] [PATCH 7/8] isa: refine irq reservations, Gerd Hoffmann, 2009/09/11
- [Qemu-devel] [PATCH 6/8] ide/isa: convert to qdev., Gerd Hoffmann, 2009/09/11
- [Qemu-devel] [PATCH 8/8] unbreak ppc/prep, Gerd Hoffmann, 2009/09/11
- [Qemu-devel] [PATCH 5/8] ide/pci: convert to qdev., Gerd Hoffmann, 2009/09/11