Message ID | 20180103180805.18140-6-f4bug@amsat.org |
---|---|
State | Superseded, archived |
Headers | show |
Series | SDHCI: housekeeping | expand |
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 > >
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 = {
Now both inherited classes appear as DEVICE_CATEGORY_STORAGE. Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org> --- hw/sd/sdhci.c | 22 ++++++++++++++-------- 1 file changed, 14 insertions(+), 8 deletions(-)