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:
parent
7a5f6bad7a
commit
887c510daa
@ -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)
|
|
||||||
|
Loading…
Reference in New Issue
Block a user