On Wed, Dec 13, 2017 at 11:58 AM, Philippe Mathieu-Daudé <f4...@amsat.org> wrote: > Signed-off-by: Philippe Mathieu-Daudé <f4...@amsat.org> > --- > 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 a96cd8a2df..893be0e606 100644 > --- a/hw/sd/sdhci.c > +++ b/hw/sd/sdhci.c > @@ -1274,6 +1274,16 @@ static Property sdhci_properties[] = { > DEFINE_PROP_END_OF_LIST(), > }; > > +static void sdhci_class_init(ObjectClass *klass, void *data) > +{ > + DeviceClass *dc = DEVICE_CLASS(klass); > + > + set_bit(DEVICE_CATEGORY_STORAGE, dc->categories);
This changes the sysbus one, does that matter? Alistair > + dc->vmsd = &sdhci_vmstate; > + dc->props = sdhci_properties; > + dc->reset = sdhci_poweron_reset; > +} > + > /* --- qdev PCI --- */ > > static void sdhci_pci_realize(PCIDevice *dev, Error **errp) > @@ -1297,7 +1307,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; > @@ -1305,10 +1314,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_class_init(klass, data); > } > > static const TypeInfo sdhci_pci_info = { > @@ -1352,10 +1359,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_class_init(klass, data); > } > > static const TypeInfo sdhci_sysbus_info = { > -- > 2.15.1 > >