qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] [PATCH v6 03/13] sdhci: refactor same sysbus/pci proper


From: Philippe Mathieu-Daudé
Subject: Re: [Qemu-devel] [PATCH v6 03/13] sdhci: refactor same sysbus/pci properties into a common one
Date: Fri, 12 Jan 2018 15:52:30 -0300

> On 01/12/2018 02:20 PM, Philippe Mathieu-Daudé wrote:
>> On Fri, Jan 12, 2018 at 2:05 PM, Peter Maydell <address@hidden> wrote:
>>> On 11 January 2018 at 19:30, Philippe Mathieu-Daudé <address@hidden> wrote:
>>>> Now both sysbus/pci classes inherit of the 'pending-insert-quirk' property,
>>>> which is a HCI dependent property (regardless if accessed through a MMIO
>>>> sysbus or a PCI bus).
>>>> So far only the BCM implementation has to use it.
>>>>
>>>> Add sysbus/pci/sdbus comments to have clearer code blocks separation.
>>>>
>>>> Signed-off-by: Philippe Mathieu-Daudé <address@hidden>
>>>> Reviewed-by: Alistair Francis <address@hidden>
>>>
>>> I'm not sure about this patch, because it means that we now have
>>> no mechanism for having a property which exists on the sysbus
>>> device but not on the PCI device (and as per my comments on the
>>> last patch in this set, we do need to be able to do that).
>
> Does this look OK to you?
>
> static Property sdhci_sysbus_pending_insert_quirk_property =
>      DEFINE_PROP_BOOL("pending-insert-quirk",
>            SDHCIState, pending_insert_quirk, false);
>
> static Property sdhci_sysbus_dma_mr_property =
>      DEFINE_PROP_LINK("dma",
>          SDHCIState, dma_mr, TYPE_MEMORY_REGION, MemoryRegion *);
>
> static void sdhci_sysbus_post_init(Object *obj)

No need to use the post_init(), this can go in the sdhci_initfn().

> {
>     SDHCIState *s = SYSBUS_SDHCI(obj);
>
>     sdhci_common_post_init(obj); /* add common properties */
>     qdev_property_add_static(DEVICE(obj),
>         &sdhci_sysbus_pending_insert_quirk_property, &error_abort);
>     qdev_property_add_static(DEVICE(obj),
>         &sdhci_sysbus_dma_mr_property, &error_abort);
> }
>
> static const TypeInfo sdhci_sysbus_info = {
>     .name = TYPE_SYSBUS_SDHCI,
>     .parent = TYPE_SYS_BUS_DEVICE,
>     .instance_size = sizeof(SDHCIState),
>     .instance_init = sdhci_sysbus_init,
>     .instance_post_init = sdhci_sysbus_post_init,

Not needed.

>     ...
> };
>
> This way we can have a property which exists on the sysbus
> device but not on the PCI device, and keep the common one in the same
> piece of code (I later add a few common properties).



reply via email to

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