Commit 4c97df78d5 for qemu.org
commit 4c97df78d5c288b5346214b20db5cc04ba184663
Author: Jamin Lin <jamin_lin@aspeedtech.com>
Date: Mon Jun 1 02:50:26 2026 +0000
hw/watchdog/wdt_aspeed: Convert to DEFINE_TYPES() with inlined TypeInfo
Replace the legacy type_register_static()/type_init() registration
pattern with the modern DEFINE_TYPES() macro.
Inline 6 standalone TypeInfo variables (aspeed_wdt_info as abstract
base, aspeed_2400_wdt_info, aspeed_2500_wdt_info, aspeed_2600_wdt_info,
aspeed_1030_wdt_info, aspeed_2700_wdt_info) directly into the
'aspeed_wdt_types[]' array, removing the need for separate declarations.
No functional change.
Signed-off-by: Jamin Lin <jamin_lin@aspeedtech.com>
Reviewed-by: Cédric Le Goater <clg@redhat.com>
Link: https://lore.kernel.org/qemu-devel/20260601024959.2347639-18-jamin_lin@aspeedtech.com
Signed-off-by: Cédric Le Goater <clg@redhat.com>
diff --git a/hw/watchdog/wdt_aspeed.c b/hw/watchdog/wdt_aspeed.c
index ae411593c5..deed970c89 100644
--- a/hw/watchdog/wdt_aspeed.c
+++ b/hw/watchdog/wdt_aspeed.c
@@ -321,15 +321,6 @@ static void aspeed_wdt_class_init(ObjectClass *klass, const void *data)
dc->desc = "Aspeed watchdog device";
}
-static const TypeInfo aspeed_wdt_info = {
- .parent = TYPE_SYS_BUS_DEVICE,
- .name = TYPE_ASPEED_WDT,
- .instance_size = sizeof(AspeedWDTState),
- .class_init = aspeed_wdt_class_init,
- .class_size = sizeof(AspeedWDTClass),
- .abstract = true,
-};
-
static void aspeed_2400_wdt_class_init(ObjectClass *klass, const void *data)
{
DeviceClass *dc = DEVICE_CLASS(klass);
@@ -345,13 +336,6 @@ static void aspeed_2400_wdt_class_init(ObjectClass *klass, const void *data)
awc->default_reload_value = 0x03EF1480;
}
-static const TypeInfo aspeed_2400_wdt_info = {
- .name = TYPE_ASPEED_2400_WDT,
- .parent = TYPE_ASPEED_WDT,
- .instance_size = sizeof(AspeedWDTState),
- .class_init = aspeed_2400_wdt_class_init,
-};
-
static void aspeed_2500_wdt_reset_pulse(AspeedWDTState *s, uint32_t property)
{
if (property) {
@@ -383,13 +367,6 @@ static void aspeed_2500_wdt_class_init(ObjectClass *klass, const void *data)
awc->default_reload_value = 0x014FB180;
}
-static const TypeInfo aspeed_2500_wdt_info = {
- .name = TYPE_ASPEED_2500_WDT,
- .parent = TYPE_ASPEED_WDT,
- .instance_size = sizeof(AspeedWDTState),
- .class_init = aspeed_2500_wdt_class_init,
-};
-
static void aspeed_2600_wdt_class_init(ObjectClass *klass, const void *data)
{
DeviceClass *dc = DEVICE_CLASS(klass);
@@ -406,13 +383,6 @@ static void aspeed_2600_wdt_class_init(ObjectClass *klass, const void *data)
awc->default_reload_value = 0x014FB180;
}
-static const TypeInfo aspeed_2600_wdt_info = {
- .name = TYPE_ASPEED_2600_WDT,
- .parent = TYPE_ASPEED_WDT,
- .instance_size = sizeof(AspeedWDTState),
- .class_init = aspeed_2600_wdt_class_init,
-};
-
static void aspeed_1030_wdt_class_init(ObjectClass *klass, const void *data)
{
DeviceClass *dc = DEVICE_CLASS(klass);
@@ -429,13 +399,6 @@ static void aspeed_1030_wdt_class_init(ObjectClass *klass, const void *data)
awc->default_reload_value = 0x014FB180;
}
-static const TypeInfo aspeed_1030_wdt_info = {
- .name = TYPE_ASPEED_1030_WDT,
- .parent = TYPE_ASPEED_WDT,
- .instance_size = sizeof(AspeedWDTState),
- .class_init = aspeed_1030_wdt_class_init,
-};
-
static void aspeed_2700_wdt_class_init(ObjectClass *klass, const void *data)
{
DeviceClass *dc = DEVICE_CLASS(klass);
@@ -452,21 +415,45 @@ static void aspeed_2700_wdt_class_init(ObjectClass *klass, const void *data)
awc->default_reload_value = 0x014FB180;
}
-static const TypeInfo aspeed_2700_wdt_info = {
- .name = TYPE_ASPEED_2700_WDT,
- .parent = TYPE_ASPEED_WDT,
- .instance_size = sizeof(AspeedWDTState),
- .class_init = aspeed_2700_wdt_class_init,
+static const TypeInfo aspeed_wdt_types[] = {
+ {
+ .parent = TYPE_SYS_BUS_DEVICE,
+ .name = TYPE_ASPEED_WDT,
+ .instance_size = sizeof(AspeedWDTState),
+ .class_init = aspeed_wdt_class_init,
+ .class_size = sizeof(AspeedWDTClass),
+ .abstract = true,
+ },
+ {
+ .name = TYPE_ASPEED_1030_WDT,
+ .parent = TYPE_ASPEED_WDT,
+ .instance_size = sizeof(AspeedWDTState),
+ .class_init = aspeed_1030_wdt_class_init,
+ },
+ {
+ .name = TYPE_ASPEED_2400_WDT,
+ .parent = TYPE_ASPEED_WDT,
+ .instance_size = sizeof(AspeedWDTState),
+ .class_init = aspeed_2400_wdt_class_init,
+ },
+ {
+ .name = TYPE_ASPEED_2500_WDT,
+ .parent = TYPE_ASPEED_WDT,
+ .instance_size = sizeof(AspeedWDTState),
+ .class_init = aspeed_2500_wdt_class_init,
+ },
+ {
+ .name = TYPE_ASPEED_2600_WDT,
+ .parent = TYPE_ASPEED_WDT,
+ .instance_size = sizeof(AspeedWDTState),
+ .class_init = aspeed_2600_wdt_class_init,
+ },
+ {
+ .name = TYPE_ASPEED_2700_WDT,
+ .parent = TYPE_ASPEED_WDT,
+ .instance_size = sizeof(AspeedWDTState),
+ .class_init = aspeed_2700_wdt_class_init,
+ }
};
-static void wdt_aspeed_register_types(void)
-{
- type_register_static(&aspeed_wdt_info);
- type_register_static(&aspeed_2400_wdt_info);
- type_register_static(&aspeed_2500_wdt_info);
- type_register_static(&aspeed_2600_wdt_info);
- type_register_static(&aspeed_2700_wdt_info);
- type_register_static(&aspeed_1030_wdt_info);
-}
-
-type_init(wdt_aspeed_register_types)
+DEFINE_TYPES(aspeed_wdt_types)