Hi Peter, On 01/12/2018 02:20 PM, Philippe Mathieu-Daudé wrote: > On Fri, Jan 12, 2018 at 2:05 PM, Peter Maydell <peter.mayd...@linaro.org> > wrote: >> On 11 January 2018 at 19:30, Philippe Mathieu-Daudé <f4...@amsat.org> 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é <f4...@amsat.org> >>> Reviewed-by: Alistair Francis <alistair.fran...@xilinx.com> >> >> 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) { 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, ... }; 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). Regards, Phil.