[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).
[Qemu-devel] [PATCH v6 05/13] sdhci: refactor common sysbus/pci realize() into sdhci_common_realize(), Philippe Mathieu-Daudé, 2018/01/11
[Qemu-devel] [PATCH v6 06/13] sdhci: refactor common sysbus/pci unrealize() into sdhci_common_unrealize(), Philippe Mathieu-Daudé, 2018/01/11
[Qemu-devel] [PATCH v6 07/13] sdhci: use qemu_log_mask(UNIMP) instead of fprintf(), Philippe Mathieu-Daudé, 2018/01/11
[Qemu-devel] [PATCH v6 08/13] sdhci: convert the DPRINT() calls into trace events, Philippe Mathieu-Daudé, 2018/01/11
[Qemu-devel] [PATCH v6 09/13] sdhci: move MASK_TRNMOD with other SDHC_TRN* defines in "sd-internal.h", Philippe Mathieu-Daudé, 2018/01/11
[Qemu-devel] [PATCH v6 10/13] sdhci: rename the SDHC_CAPAB register, Philippe Mathieu-Daudé, 2018/01/11
[Qemu-devel] [PATCH v6 11/13] sdhci: fix CAPAB/MAXCURR registers, both are 64bit and read-only, Philippe Mathieu-Daudé, 2018/01/11
[Qemu-devel] [PATCH v6 12/13] sdhci: Implement write method of ACMD12ERRSTS register, Philippe Mathieu-Daudé, 2018/01/11
[Qemu-devel] [PATCH v6 13/13] sdhci: add a "dma" property, Philippe Mathieu-Daudé, 2018/01/11