qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH 4/4] hw/pci: remove obsolete PCIDevice->init()


From: Philippe Mathieu-Daudé
Subject: Re: [Qemu-devel] [PATCH 4/4] hw/pci: remove obsolete PCIDevice->init()
Date: Mon, 12 Mar 2018 11:57:42 +0100
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.6.0

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é <address@hidden>
>>>> ---
>>>>  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)
>>>>
>>
>>



reply via email to

[Prev in Thread] Current Thread [Next in Thread]