On Wed, Jan 3, 2018 at 10:07 AM, Philippe Mathieu-Daudé <f4bug@amsat.org> wrote:
> Now both inherited classes appear as DEVICE_CATEGORY_STORAGE.
>
> Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Reviewed-by: Alistair Francis <alistair.francis@xilinx.com>
Alistair
> ---
> hw/sd/sdhci.c | 22 ++++++++++++++--------
> 1 file changed, 14 insertions(+), 8 deletions(-)
>
> diff --git a/hw/sd/sdhci.c b/hw/sd/sdhci.c
> index a11469fbca..68bcf75478 100644
> --- a/hw/sd/sdhci.c
> +++ b/hw/sd/sdhci.c
> @@ -1275,6 +1275,16 @@ static Property sdhci_properties[] = {
> DEFINE_PROP_END_OF_LIST(),
> };
>
> +static void sdhci_common_class_init(ObjectClass *klass, void *data)
> +{
> + DeviceClass *dc = DEVICE_CLASS(klass);
> +
> + set_bit(DEVICE_CATEGORY_STORAGE, dc->categories);
> + dc->vmsd = &sdhci_vmstate;
> + dc->props = sdhci_properties;
> + dc->reset = sdhci_poweron_reset;
> +}
> +
> /* --- qdev PCI --- */
>
> static void sdhci_pci_realize(PCIDevice *dev, Error **errp)
> @@ -1299,7 +1309,6 @@ static void sdhci_pci_exit(PCIDevice *dev)
>
> static void sdhci_pci_class_init(ObjectClass *klass, void *data)
> {
> - DeviceClass *dc = DEVICE_CLASS(klass);
> PCIDeviceClass *k = PCI_DEVICE_CLASS(klass);
>
> k->realize = sdhci_pci_realize;
> @@ -1307,10 +1316,8 @@ static void sdhci_pci_class_init(ObjectClass *klass, void *data)
> k->vendor_id = PCI_VENDOR_ID_REDHAT;
> k->device_id = PCI_DEVICE_ID_REDHAT_SDHCI;
> k->class_id = PCI_CLASS_SYSTEM_SDHCI;
> - set_bit(DEVICE_CATEGORY_STORAGE, dc->categories);
> - dc->vmsd = &sdhci_vmstate;
> - dc->props = sdhci_properties;
> - dc->reset = sdhci_poweron_reset;
> +
> + sdhci_common_class_init(klass, data);
> }
>
> static const TypeInfo sdhci_pci_info = {
> @@ -1356,10 +1363,9 @@ static void sdhci_sysbus_class_init(ObjectClass *klass, void *data)
> {
> DeviceClass *dc = DEVICE_CLASS(klass);
>
> - dc->vmsd = &sdhci_vmstate;
> - dc->props = sdhci_properties;
> dc->realize = sdhci_sysbus_realize;
> - dc->reset = sdhci_poweron_reset;
> +
> + sdhci_common_class_init(klass, data);
> }
>
> static const TypeInfo sdhci_sysbus_info = {
> --
> 2.15.1
>
>