[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:45:10 -0300 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.5.2 |
Hi Peter,
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)
{
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.
[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