All PCI devices are now QOM'ified.
Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
---
include/hw/pci/pci.h | 1 -
hw/pci/pci.c | 14 --------------
2 files changed, 15 deletions(-)
diff --git a/include/hw/pci/pci.h b/include/hw/pci/pci.h
index 8d02a0a383..0f1ed64c2f 100644
--- a/include/hw/pci/pci.h
+++ b/include/hw/pci/pci.h
@@ -217,7 +217,6 @@ typedef struct PCIDeviceClass {
DeviceClass parent_class;
void (*realize)(PCIDevice *dev, Error **errp);
- int (*init)(PCIDevice *dev);/* TODO convert to realize() and remove */
PCIUnregisterFunc *exit;
PCIConfigReadFunc *config_read;
PCIConfigWriteFunc *config_write;
diff --git a/hw/pci/pci.c b/hw/pci/pci.c
index b2d139bd9a..cd25ab6f6b 100644
--- a/hw/pci/pci.c
+++ b/hw/pci/pci.c
@@ -2054,18 +2054,6 @@ static void pci_qdev_realize(DeviceState *qdev, Error **errp)
}
}
-static void pci_default_realize(PCIDevice *dev, Error **errp)
-{
- PCIDeviceClass *pc = PCI_DEVICE_GET_CLASS(dev);
-
- if (pc->init) {
- if (pc->init(dev) < 0) {
- error_setg(errp, "Device initialization failed");
- return;
- }
- }
-}
-
PCIDevice *pci_create_multifunction(PCIBus *bus, int devfn, bool multifunction,
const char *name)
{
@@ -2538,13 +2526,11 @@ MemoryRegion *pci_address_space_io(PCIDevice *dev)
static void pci_device_class_init(ObjectClass *klass, void *data)
{
DeviceClass *k = DEVICE_CLASS(klass);
- PCIDeviceClass *pc = PCI_DEVICE_CLASS(klass);
k->realize = pci_qdev_realize;
k->unrealize = pci_qdev_unrealize;
k->bus_type = TYPE_PCI_BUS;
k->props = pci_props;
- pc->realize = pci_default_realize;
}
static void pci_device_class_base_init(ObjectClass *klass, void *data)
--
2.15.1
On 17/12/2017 22:49, Philippe Mathieu-Daudé wrote:
> All PCI devices are now QOM'ified.
>
Finally!
> Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
> ---
> include/hw/pci/pci.h | 1 -
> hw/pci/pci.c | 14 --------------
> 2 files changed, 15 deletions(-)
>
> diff --git a/include/hw/pci/pci.h b/include/hw/pci/pci.h
> index 8d02a0a383..0f1ed64c2f 100644
> --- a/include/hw/pci/pci.h
> +++ b/include/hw/pci/pci.h
> @@ -217,7 +217,6 @@ typedef struct PCIDeviceClass {
> DeviceClass parent_class;
>
> void (*realize)(PCIDevice *dev, Error **errp);
> - int (*init)(PCIDevice *dev);/* TODO convert to realize() and remove */
> PCIUnregisterFunc *exit;
> PCIConfigReadFunc *config_read;
> PCIConfigWriteFunc *config_write;
> diff --git a/hw/pci/pci.c b/hw/pci/pci.c
> index b2d139bd9a..cd25ab6f6b 100644
> --- a/hw/pci/pci.c
> +++ b/hw/pci/pci.c
> @@ -2054,18 +2054,6 @@ static void pci_qdev_realize(DeviceState *qdev, Error **errp)
> }
> }
>
> -static void pci_default_realize(PCIDevice *dev, Error **errp)
> -{
> - PCIDeviceClass *pc = PCI_DEVICE_GET_CLASS(dev);
> -
> - if (pc->init) {
> - if (pc->init(dev) < 0) {
> - error_setg(errp, "Device initialization failed");
> - return;
> - }
> - }
> -}
> -
> PCIDevice *pci_create_multifunction(PCIBus *bus, int devfn, bool multifunction,
> const char *name)
> {
> @@ -2538,13 +2526,11 @@ MemoryRegion *pci_address_space_io(PCIDevice *dev)
> static void pci_device_class_init(ObjectClass *klass, void *data)
> {
> DeviceClass *k = DEVICE_CLASS(klass);
> - PCIDeviceClass *pc = PCI_DEVICE_CLASS(klass);
>
> k->realize = pci_qdev_realize;
> k->unrealize = pci_qdev_unrealize;
> k->bus_type = TYPE_PCI_BUS;
> k->props = pci_props;
> - pc->realize = pci_default_realize;
> }
>
> static void pci_device_class_base_init(ObjectClass *klass, void *data)
>
Reviewed-by: Marcel Apfelbaum <marcel@redhat.com>
Thanks,
Marcel
Hi Michael, Paolo.
Now than all other PCI QOM'ification patches got applied, can you take
this patch for 2.12?
Thanks,
Phil.
On 12/17/2017 09:49 PM, Philippe Mathieu-Daudé wrote:
> All PCI devices are now QOM'ified.
>
> Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
> ---
> include/hw/pci/pci.h | 1 -
> hw/pci/pci.c | 14 --------------
> 2 files changed, 15 deletions(-)
>
> diff --git a/include/hw/pci/pci.h b/include/hw/pci/pci.h
> index 8d02a0a383..0f1ed64c2f 100644
> --- a/include/hw/pci/pci.h
> +++ b/include/hw/pci/pci.h
> @@ -217,7 +217,6 @@ typedef struct PCIDeviceClass {
> DeviceClass parent_class;
>
> void (*realize)(PCIDevice *dev, Error **errp);
> - int (*init)(PCIDevice *dev);/* TODO convert to realize() and remove */
> PCIUnregisterFunc *exit;
> PCIConfigReadFunc *config_read;
> PCIConfigWriteFunc *config_write;
> diff --git a/hw/pci/pci.c b/hw/pci/pci.c
> index b2d139bd9a..cd25ab6f6b 100644
> --- a/hw/pci/pci.c
> +++ b/hw/pci/pci.c
> @@ -2054,18 +2054,6 @@ static void pci_qdev_realize(DeviceState *qdev, Error **errp)
> }
> }
>
> -static void pci_default_realize(PCIDevice *dev, Error **errp)
> -{
> - PCIDeviceClass *pc = PCI_DEVICE_GET_CLASS(dev);
> -
> - if (pc->init) {
> - if (pc->init(dev) < 0) {
> - error_setg(errp, "Device initialization failed");
> - return;
> - }
> - }
> -}
> -
> PCIDevice *pci_create_multifunction(PCIBus *bus, int devfn, bool multifunction,
> const char *name)
> {
> @@ -2538,13 +2526,11 @@ MemoryRegion *pci_address_space_io(PCIDevice *dev)
> static void pci_device_class_init(ObjectClass *klass, void *data)
> {
> DeviceClass *k = DEVICE_CLASS(klass);
> - PCIDeviceClass *pc = PCI_DEVICE_CLASS(klass);
>
> k->realize = pci_qdev_realize;
> k->unrealize = pci_qdev_unrealize;
> k->bus_type = TYPE_PCI_BUS;
> k->props = pci_props;
> - pc->realize = pci_default_realize;
> }
>
> static void pci_device_class_base_init(ObjectClass *klass, void *data)
>
On Sun, Mar 11, 2018 at 04:46:52PM +0100, Philippe Mathieu-Daudé wrote:
> Hi Michael, Paolo.
>
> Now than all other PCI QOM'ification patches got applied, can you take
> this patch for 2.12?
>
> Thanks,
>
> Phil.
>
> On 12/17/2017 09:49 PM, Philippe Mathieu-Daudé wrote:
> > All PCI devices are now QOM'ified.
> >
> > Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
> > ---
> > include/hw/pci/pci.h | 1 -
> > hw/pci/pci.c | 14 --------------
> > 2 files changed, 15 deletions(-)
> >
> > diff --git a/include/hw/pci/pci.h b/include/hw/pci/pci.h
> > index 8d02a0a383..0f1ed64c2f 100644
> > --- a/include/hw/pci/pci.h
> > +++ b/include/hw/pci/pci.h
> > @@ -217,7 +217,6 @@ typedef struct PCIDeviceClass {
> > DeviceClass parent_class;
> >
> > void (*realize)(PCIDevice *dev, Error **errp);
> > - int (*init)(PCIDevice *dev);/* TODO convert to realize() and remove */
> > PCIUnregisterFunc *exit;
> > PCIConfigReadFunc *config_read;
> > PCIConfigWriteFunc *config_write;
> > diff --git a/hw/pci/pci.c b/hw/pci/pci.c
> > index b2d139bd9a..cd25ab6f6b 100644
> > --- a/hw/pci/pci.c
> > +++ b/hw/pci/pci.c
> > @@ -2054,18 +2054,6 @@ static void pci_qdev_realize(DeviceState *qdev, Error **errp)
> > }
> > }
> >
> > -static void pci_default_realize(PCIDevice *dev, Error **errp)
> > -{
> > - PCIDeviceClass *pc = PCI_DEVICE_GET_CLASS(dev);
> > -
> > - if (pc->init) {
> > - if (pc->init(dev) < 0) {
> > - error_setg(errp, "Device initialization failed");
> > - return;
> > - }
> > - }
> > -}
> > -
> > PCIDevice *pci_create_multifunction(PCIBus *bus, int devfn, bool multifunction,
> > const char *name)
> > {
> > @@ -2538,13 +2526,11 @@ MemoryRegion *pci_address_space_io(PCIDevice *dev)
> > static void pci_device_class_init(ObjectClass *klass, void *data)
> > {
> > DeviceClass *k = DEVICE_CLASS(klass);
> > - PCIDeviceClass *pc = PCI_DEVICE_CLASS(klass);
> >
> > k->realize = pci_qdev_realize;
> > k->unrealize = pci_qdev_unrealize;
> > k->bus_type = TYPE_PCI_BUS;
> > k->props = pci_props;
> > - pc->realize = pci_default_realize;
How about we assert !init here?
+ assert(!pc->init);
> > }
> >
> > static void pci_device_class_base_init(ObjectClass *klass, void *data)
> >
On Mon, Mar 12, 2018 at 02:03:17AM +0200, Michael S. Tsirkin wrote:
> On Sun, Mar 11, 2018 at 04:46:52PM +0100, Philippe Mathieu-Daudé wrote:
> > Hi Michael, Paolo.
> >
> > Now than all other PCI QOM'ification patches got applied, can you take
> > this patch for 2.12?
> >
> > Thanks,
> >
> > Phil.
> >
> > On 12/17/2017 09:49 PM, Philippe Mathieu-Daudé wrote:
> > > All PCI devices are now QOM'ified.
> > >
> > > Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
> > > ---
> > > include/hw/pci/pci.h | 1 -
> > > hw/pci/pci.c | 14 --------------
> > > 2 files changed, 15 deletions(-)
> > >
> > > diff --git a/include/hw/pci/pci.h b/include/hw/pci/pci.h
> > > index 8d02a0a383..0f1ed64c2f 100644
> > > --- a/include/hw/pci/pci.h
> > > +++ b/include/hw/pci/pci.h
> > > @@ -217,7 +217,6 @@ typedef struct PCIDeviceClass {
> > > DeviceClass parent_class;
> > >
> > > void (*realize)(PCIDevice *dev, Error **errp);
> > > - int (*init)(PCIDevice *dev);/* TODO convert to realize() and remove */
> > > PCIUnregisterFunc *exit;
> > > PCIConfigReadFunc *config_read;
> > > PCIConfigWriteFunc *config_write;
> > > diff --git a/hw/pci/pci.c b/hw/pci/pci.c
> > > index b2d139bd9a..cd25ab6f6b 100644
> > > --- a/hw/pci/pci.c
> > > +++ b/hw/pci/pci.c
> > > @@ -2054,18 +2054,6 @@ static void pci_qdev_realize(DeviceState *qdev, Error **errp)
> > > }
> > > }
> > >
> > > -static void pci_default_realize(PCIDevice *dev, Error **errp)
> > > -{
> > > - PCIDeviceClass *pc = PCI_DEVICE_GET_CLASS(dev);
> > > -
> > > - if (pc->init) {
> > > - if (pc->init(dev) < 0) {
> > > - error_setg(errp, "Device initialization failed");
> > > - return;
> > > - }
> > > - }
> > > -}
> > > -
> > > PCIDevice *pci_create_multifunction(PCIBus *bus, int devfn, bool multifunction,
> > > const char *name)
> > > {
> > > @@ -2538,13 +2526,11 @@ MemoryRegion *pci_address_space_io(PCIDevice *dev)
> > > static void pci_device_class_init(ObjectClass *klass, void *data)
> > > {
> > > DeviceClass *k = DEVICE_CLASS(klass);
> > > - PCIDeviceClass *pc = PCI_DEVICE_CLASS(klass);
> > >
> > > k->realize = pci_qdev_realize;
> > > k->unrealize = pci_qdev_unrealize;
> > > k->bus_type = TYPE_PCI_BUS;
> > > k->props = pci_props;
> > > - pc->realize = pci_default_realize;
>
> How about we assert !init here?
>
> + assert(!pc->init);
Oh sorry I missed the chunk that drops it completely.
Will apply.
> > > }
> > >
> > > static void pci_device_class_base_init(ObjectClass *klass, void *data)
> > >
>
>
On 03/12/2018 01:04 AM, Michael S. Tsirkin wrote:
> On Mon, Mar 12, 2018 at 02:03:17AM +0200, Michael S. Tsirkin wrote:
>> On Sun, Mar 11, 2018 at 04:46:52PM +0100, Philippe Mathieu-Daudé wrote:
>>> Hi Michael, Paolo.
>>>
>>> Now than all other PCI QOM'ification patches got applied, can you take
>>> this patch for 2.12?
>>>
>>> Thanks,
>>>
>>> Phil.
>>>
>>> On 12/17/2017 09:49 PM, Philippe Mathieu-Daudé wrote:
>>>> All PCI devices are now QOM'ified.
>>>>
>>>> Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
>>>> ---
>>>> include/hw/pci/pci.h | 1 -
>>>> hw/pci/pci.c | 14 --------------
>>>> 2 files changed, 15 deletions(-)
>>>>
>>>> diff --git a/include/hw/pci/pci.h b/include/hw/pci/pci.h
>>>> index 8d02a0a383..0f1ed64c2f 100644
>>>> --- a/include/hw/pci/pci.h
>>>> +++ b/include/hw/pci/pci.h
>>>> @@ -217,7 +217,6 @@ typedef struct PCIDeviceClass {
>>>> DeviceClass parent_class;
>>>>
>>>> void (*realize)(PCIDevice *dev, Error **errp);
>>>> - int (*init)(PCIDevice *dev);/* TODO convert to realize() and remove */
>>>> PCIUnregisterFunc *exit;
>>>> PCIConfigReadFunc *config_read;
>>>> PCIConfigWriteFunc *config_write;
>>>> diff --git a/hw/pci/pci.c b/hw/pci/pci.c
>>>> index b2d139bd9a..cd25ab6f6b 100644
>>>> --- a/hw/pci/pci.c
>>>> +++ b/hw/pci/pci.c
>>>> @@ -2054,18 +2054,6 @@ static void pci_qdev_realize(DeviceState *qdev, Error **errp)
>>>> }
>>>> }
>>>>
>>>> -static void pci_default_realize(PCIDevice *dev, Error **errp)
>>>> -{
>>>> - PCIDeviceClass *pc = PCI_DEVICE_GET_CLASS(dev);
>>>> -
>>>> - if (pc->init) {
>>>> - if (pc->init(dev) < 0) {
>>>> - error_setg(errp, "Device initialization failed");
>>>> - return;
>>>> - }
>>>> - }
>>>> -}
>>>> -
>>>> PCIDevice *pci_create_multifunction(PCIBus *bus, int devfn, bool multifunction,
>>>> const char *name)
>>>> {
>>>> @@ -2538,13 +2526,11 @@ MemoryRegion *pci_address_space_io(PCIDevice *dev)
>>>> static void pci_device_class_init(ObjectClass *klass, void *data)
>>>> {
>>>> DeviceClass *k = DEVICE_CLASS(klass);
>>>> - PCIDeviceClass *pc = PCI_DEVICE_CLASS(klass);
>>>>
>>>> k->realize = pci_qdev_realize;
>>>> k->unrealize = pci_qdev_unrealize;
>>>> k->bus_type = TYPE_PCI_BUS;
>>>> k->props = pci_props;
>>>> - pc->realize = pci_default_realize;
>>
>> How about we assert !init here?
>>
>> + assert(!pc->init);
>
> Oh sorry I missed the chunk that drops it completely.
> Will apply.
Thanks!
>
>>>> }
>>>>
>>>> static void pci_device_class_base_init(ObjectClass *klass, void *data)
>>>>
>>
>>
© 2016 - 2025 Red Hat, Inc.