Replace the legacy type_register_static()/type_init() registration
pattern with the modern DEFINE_TYPES() macro.
Inline 4 standalone TypeInfo variables (aspeed_xdma_info as abstract
base, aspeed_2400_xdma_info, aspeed_2500_xdma_info,
aspeed_2600_xdma_info) directly into the 'aspeed_xdma_types[]'
array, removing the need for separate declarations.
No functional change.
Signed-off-by: Jamin Lin <jamin_lin@aspeedtech.com>
---
hw/misc/aspeed_xdma.c | 58 +++++++++++++++++++------------------------
1 file changed, 25 insertions(+), 33 deletions(-)
diff --git a/hw/misc/aspeed_xdma.c b/hw/misc/aspeed_xdma.c
index 80b3259333..58a471ee03 100644
--- a/hw/misc/aspeed_xdma.c
+++ b/hw/misc/aspeed_xdma.c
@@ -167,12 +167,6 @@ static void aspeed_2600_xdma_class_init(ObjectClass *klass, const void *data)
XDMA_AST2600_IRQ_STATUS_DS_COMP;
}
-static const TypeInfo aspeed_2600_xdma_info = {
- .name = TYPE_ASPEED_2600_XDMA,
- .parent = TYPE_ASPEED_XDMA,
- .class_init = aspeed_2600_xdma_class_init,
-};
-
static void aspeed_2500_xdma_class_init(ObjectClass *klass, const void *data)
{
DeviceClass *dc = DEVICE_CLASS(klass);
@@ -189,12 +183,6 @@ static void aspeed_2500_xdma_class_init(ObjectClass *klass, const void *data)
axc->intr_complete = XDMA_IRQ_ENG_STAT_US_COMP | XDMA_IRQ_ENG_STAT_DS_COMP;
};
-static const TypeInfo aspeed_2500_xdma_info = {
- .name = TYPE_ASPEED_2500_XDMA,
- .parent = TYPE_ASPEED_XDMA,
- .class_init = aspeed_2500_xdma_class_init,
-};
-
static void aspeed_2400_xdma_class_init(ObjectClass *klass, const void *data)
{
DeviceClass *dc = DEVICE_CLASS(klass);
@@ -211,12 +199,6 @@ static void aspeed_2400_xdma_class_init(ObjectClass *klass, const void *data)
axc->intr_complete = XDMA_IRQ_ENG_STAT_US_COMP | XDMA_IRQ_ENG_STAT_DS_COMP;
};
-static const TypeInfo aspeed_2400_xdma_info = {
- .name = TYPE_ASPEED_2400_XDMA,
- .parent = TYPE_ASPEED_XDMA,
- .class_init = aspeed_2400_xdma_class_init,
-};
-
static void aspeed_xdma_class_init(ObjectClass *classp, const void *data)
{
DeviceClass *dc = DEVICE_CLASS(classp);
@@ -227,20 +209,30 @@ static void aspeed_xdma_class_init(ObjectClass *classp, const void *data)
dc->vmsd = &aspeed_xdma_vmstate;
}
-static const TypeInfo aspeed_xdma_info = {
- .name = TYPE_ASPEED_XDMA,
- .parent = TYPE_SYS_BUS_DEVICE,
- .instance_size = sizeof(AspeedXDMAState),
- .class_init = aspeed_xdma_class_init,
- .class_size = sizeof(AspeedXDMAClass),
- .abstract = true,
+static const TypeInfo aspeed_xdma_types[] = {
+ {
+ .name = TYPE_ASPEED_XDMA,
+ .parent = TYPE_SYS_BUS_DEVICE,
+ .instance_size = sizeof(AspeedXDMAState),
+ .class_init = aspeed_xdma_class_init,
+ .class_size = sizeof(AspeedXDMAClass),
+ .abstract = true,
+ },
+ {
+ .name = TYPE_ASPEED_2400_XDMA,
+ .parent = TYPE_ASPEED_XDMA,
+ .class_init = aspeed_2400_xdma_class_init,
+ },
+ {
+ .name = TYPE_ASPEED_2500_XDMA,
+ .parent = TYPE_ASPEED_XDMA,
+ .class_init = aspeed_2500_xdma_class_init,
+ },
+ {
+ .name = TYPE_ASPEED_2600_XDMA,
+ .parent = TYPE_ASPEED_XDMA,
+ .class_init = aspeed_2600_xdma_class_init,
+ }
};
-static void aspeed_xdma_register_type(void)
-{
- type_register_static(&aspeed_xdma_info);
- type_register_static(&aspeed_2400_xdma_info);
- type_register_static(&aspeed_2500_xdma_info);
- type_register_static(&aspeed_2600_xdma_info);
-}
-type_init(aspeed_xdma_register_type);
+DEFINE_TYPES(aspeed_xdma_types)
--
2.43.0