hw/usb/hcd-ehci-sysbus: Prefer DEFINE_TYPES() macro

The naming of the TypeInfo array is inspired by hcd-ohci-sysbus.

Reviewed-by: Cédric Le Goater <clg@redhat.com>
Signed-off-by: Bernhard Beschow <shentey@gmail.com>
Message-ID: <20241103133412.73536-25-shentey@gmail.com>
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
This commit is contained in:
Bernhard Beschow 2024-11-03 14:34:10 +01:00 committed by Philippe Mathieu-Daudé
parent 7a5f6bad7a
commit 887c510daa

View File

@ -19,7 +19,6 @@
#include "hw/qdev-properties.h" #include "hw/qdev-properties.h"
#include "hw/usb/hcd-ehci.h" #include "hw/usb/hcd-ehci.h"
#include "migration/vmstate.h" #include "migration/vmstate.h"
#include "qemu/module.h"
static const VMStateDescription vmstate_ehci_sysbus = { static const VMStateDescription vmstate_ehci_sysbus = {
.name = "ehci-sysbus", .name = "ehci-sysbus",
@ -97,17 +96,6 @@ static void ehci_sysbus_class_init(ObjectClass *klass, void *data)
set_bit(DEVICE_CATEGORY_USB, dc->categories); set_bit(DEVICE_CATEGORY_USB, dc->categories);
} }
static const TypeInfo ehci_type_info = {
.name = TYPE_SYS_BUS_EHCI,
.parent = TYPE_SYS_BUS_DEVICE,
.instance_size = sizeof(EHCISysBusState),
.instance_init = ehci_sysbus_init,
.instance_finalize = ehci_sysbus_finalize,
.abstract = true,
.class_init = ehci_sysbus_class_init,
.class_size = sizeof(SysBusEHCIClass),
};
static void ehci_platform_class_init(ObjectClass *oc, void *data) static void ehci_platform_class_init(ObjectClass *oc, void *data)
{ {
SysBusEHCIClass *sec = SYS_BUS_EHCI_CLASS(oc); SysBusEHCIClass *sec = SYS_BUS_EHCI_CLASS(oc);
@ -118,12 +106,6 @@ static void ehci_platform_class_init(ObjectClass *oc, void *data)
set_bit(DEVICE_CATEGORY_USB, dc->categories); set_bit(DEVICE_CATEGORY_USB, dc->categories);
} }
static const TypeInfo ehci_platform_type_info = {
.name = TYPE_PLATFORM_EHCI,
.parent = TYPE_SYS_BUS_EHCI,
.class_init = ehci_platform_class_init,
};
static void ehci_exynos4210_class_init(ObjectClass *oc, void *data) static void ehci_exynos4210_class_init(ObjectClass *oc, void *data)
{ {
SysBusEHCIClass *sec = SYS_BUS_EHCI_CLASS(oc); SysBusEHCIClass *sec = SYS_BUS_EHCI_CLASS(oc);
@ -134,12 +116,6 @@ static void ehci_exynos4210_class_init(ObjectClass *oc, void *data)
set_bit(DEVICE_CATEGORY_USB, dc->categories); set_bit(DEVICE_CATEGORY_USB, dc->categories);
} }
static const TypeInfo ehci_exynos4210_type_info = {
.name = TYPE_EXYNOS4210_EHCI,
.parent = TYPE_SYS_BUS_EHCI,
.class_init = ehci_exynos4210_class_init,
};
static void ehci_aw_h3_class_init(ObjectClass *oc, void *data) static void ehci_aw_h3_class_init(ObjectClass *oc, void *data)
{ {
SysBusEHCIClass *sec = SYS_BUS_EHCI_CLASS(oc); SysBusEHCIClass *sec = SYS_BUS_EHCI_CLASS(oc);
@ -150,12 +126,6 @@ static void ehci_aw_h3_class_init(ObjectClass *oc, void *data)
set_bit(DEVICE_CATEGORY_USB, dc->categories); set_bit(DEVICE_CATEGORY_USB, dc->categories);
} }
static const TypeInfo ehci_aw_h3_type_info = {
.name = TYPE_AW_H3_EHCI,
.parent = TYPE_SYS_BUS_EHCI,
.class_init = ehci_aw_h3_class_init,
};
static void ehci_npcm7xx_class_init(ObjectClass *oc, void *data) static void ehci_npcm7xx_class_init(ObjectClass *oc, void *data)
{ {
SysBusEHCIClass *sec = SYS_BUS_EHCI_CLASS(oc); SysBusEHCIClass *sec = SYS_BUS_EHCI_CLASS(oc);
@ -168,12 +138,6 @@ static void ehci_npcm7xx_class_init(ObjectClass *oc, void *data)
set_bit(DEVICE_CATEGORY_USB, dc->categories); set_bit(DEVICE_CATEGORY_USB, dc->categories);
} }
static const TypeInfo ehci_npcm7xx_type_info = {
.name = TYPE_NPCM7XX_EHCI,
.parent = TYPE_SYS_BUS_EHCI,
.class_init = ehci_npcm7xx_class_init,
};
static void ehci_tegra2_class_init(ObjectClass *oc, void *data) static void ehci_tegra2_class_init(ObjectClass *oc, void *data)
{ {
SysBusEHCIClass *sec = SYS_BUS_EHCI_CLASS(oc); SysBusEHCIClass *sec = SYS_BUS_EHCI_CLASS(oc);
@ -184,12 +148,6 @@ static void ehci_tegra2_class_init(ObjectClass *oc, void *data)
set_bit(DEVICE_CATEGORY_USB, dc->categories); set_bit(DEVICE_CATEGORY_USB, dc->categories);
} }
static const TypeInfo ehci_tegra2_type_info = {
.name = TYPE_TEGRA2_EHCI,
.parent = TYPE_SYS_BUS_EHCI,
.class_init = ehci_tegra2_class_init,
};
static void ehci_ppc4xx_init(Object *o) static void ehci_ppc4xx_init(Object *o)
{ {
EHCISysBusState *s = SYS_BUS_EHCI(o); EHCISysBusState *s = SYS_BUS_EHCI(o);
@ -207,13 +165,6 @@ static void ehci_ppc4xx_class_init(ObjectClass *oc, void *data)
set_bit(DEVICE_CATEGORY_USB, dc->categories); set_bit(DEVICE_CATEGORY_USB, dc->categories);
} }
static const TypeInfo ehci_ppc4xx_type_info = {
.name = TYPE_PPC4xx_EHCI,
.parent = TYPE_SYS_BUS_EHCI,
.class_init = ehci_ppc4xx_class_init,
.instance_init = ehci_ppc4xx_init,
};
/* /*
* Faraday FUSBH200 USB 2.0 EHCI * Faraday FUSBH200 USB 2.0 EHCI
*/ */
@ -282,24 +233,55 @@ static void fusbh200_ehci_class_init(ObjectClass *oc, void *data)
set_bit(DEVICE_CATEGORY_USB, dc->categories); set_bit(DEVICE_CATEGORY_USB, dc->categories);
} }
static const TypeInfo ehci_fusbh200_type_info = { static const TypeInfo ehci_sysbus_types[] = {
.name = TYPE_FUSBH200_EHCI, {
.parent = TYPE_SYS_BUS_EHCI, .name = TYPE_SYS_BUS_EHCI,
.instance_size = sizeof(FUSBH200EHCIState), .parent = TYPE_SYS_BUS_DEVICE,
.instance_init = fusbh200_ehci_init, .instance_size = sizeof(EHCISysBusState),
.class_init = fusbh200_ehci_class_init, .instance_init = ehci_sysbus_init,
.instance_finalize = ehci_sysbus_finalize,
.abstract = true,
.class_init = ehci_sysbus_class_init,
.class_size = sizeof(SysBusEHCIClass),
},
{
.name = TYPE_PLATFORM_EHCI,
.parent = TYPE_SYS_BUS_EHCI,
.class_init = ehci_platform_class_init,
},
{
.name = TYPE_EXYNOS4210_EHCI,
.parent = TYPE_SYS_BUS_EHCI,
.class_init = ehci_exynos4210_class_init,
},
{
.name = TYPE_AW_H3_EHCI,
.parent = TYPE_SYS_BUS_EHCI,
.class_init = ehci_aw_h3_class_init,
},
{
.name = TYPE_NPCM7XX_EHCI,
.parent = TYPE_SYS_BUS_EHCI,
.class_init = ehci_npcm7xx_class_init,
},
{
.name = TYPE_TEGRA2_EHCI,
.parent = TYPE_SYS_BUS_EHCI,
.class_init = ehci_tegra2_class_init,
},
{
.name = TYPE_PPC4xx_EHCI,
.parent = TYPE_SYS_BUS_EHCI,
.class_init = ehci_ppc4xx_class_init,
.instance_init = ehci_ppc4xx_init,
},
{
.name = TYPE_FUSBH200_EHCI,
.parent = TYPE_SYS_BUS_EHCI,
.instance_size = sizeof(FUSBH200EHCIState),
.instance_init = fusbh200_ehci_init,
.class_init = fusbh200_ehci_class_init,
},
}; };
static void ehci_sysbus_register_types(void) DEFINE_TYPES(ehci_sysbus_types)
{
type_register_static(&ehci_type_info);
type_register_static(&ehci_platform_type_info);
type_register_static(&ehci_exynos4210_type_info);
type_register_static(&ehci_aw_h3_type_info);
type_register_static(&ehci_npcm7xx_type_info);
type_register_static(&ehci_tegra2_type_info);
type_register_static(&ehci_ppc4xx_type_info);
type_register_static(&ehci_fusbh200_type_info);
}
type_init(ehci_sysbus_register_types)