hw/misc/aspeed_scu: Convert to DEFINE_TYPES() with inlined TypeInfo
Replace the legacy type_register_static()/type_init() registration pattern with the modern DEFINE_TYPES() macro. Inline 7 standalone TypeInfo variables (aspeed_scu_info as abstract base, aspeed_2400_scu_info, aspeed_2500_scu_info, aspeed_2600_scu_info, aspeed_1030_scu_info, aspeed_2700_scu_info, aspeed_2700_scuio_info) directly into the 'aspeed_scu_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-7-jamin_lin@aspeedtech.com Signed-off-by: Cédric Le Goater <clg@redhat.com>
Jamin Lin committed
Jun 1, 2026 at 02:50 UTC
ec0be11f888359fa65575d4fb5fd7bfab94ac8a4
1 file changed
+46
-61
hw/misc/aspeed_scu.c
+46
-61
@@ -624,15 +624,6 @@ static void aspeed_scu_class_init(ObjectClass *klass, const void *data)
624
device_class_set_props(dc, aspeed_scu_properties);
625
}
626
627
-static const TypeInfo aspeed_scu_info = {
628
- .name = TYPE_ASPEED_SCU,
629
- .parent = TYPE_SYS_BUS_DEVICE,
630
- .instance_size = sizeof(AspeedSCUState),
631
- .class_init = aspeed_scu_class_init,
632
- .class_size = sizeof(AspeedSCUClass),
633
- .abstract = true,
634
-};
635
-
627
static void aspeed_2400_scu_class_init(ObjectClass *klass, const void *data)
628
{
629
DeviceClass *dc = DEVICE_CLASS(klass);
@@ -648,13 +639,6 @@ static void aspeed_2400_scu_class_init(ObjectClass *klass, const void *data)
639
asc->ops = &aspeed_ast2400_scu_ops;
640
}
641
651
-static const TypeInfo aspeed_2400_scu_info = {
652
- .name = TYPE_ASPEED_2400_SCU,
653
- .parent = TYPE_ASPEED_SCU,
654
- .instance_size = sizeof(AspeedSCUState),
655
- .class_init = aspeed_2400_scu_class_init,
656
-};
657
-
642
static void aspeed_2500_scu_class_init(ObjectClass *klass, const void *data)
643
{
644
DeviceClass *dc = DEVICE_CLASS(klass);
@@ -670,13 +654,6 @@ static void aspeed_2500_scu_class_init(ObjectClass *klass, const void *data)
654
asc->ops = &aspeed_ast2500_scu_ops;
655
}
656
673
-static const TypeInfo aspeed_2500_scu_info = {
674
- .name = TYPE_ASPEED_2500_SCU,
675
- .parent = TYPE_ASPEED_SCU,
676
- .instance_size = sizeof(AspeedSCUState),
677
- .class_init = aspeed_2500_scu_class_init,
678
-};
679
-
657
static uint64_t aspeed_ast2600_scu_read(void *opaque, hwaddr offset,
658
unsigned size)
659
{
@@ -859,13 +836,6 @@ static void aspeed_2600_scu_class_init(ObjectClass *klass, const void *data)
836
asc->ops = &aspeed_ast2600_scu_ops;
837
}
838
862
-static const TypeInfo aspeed_2600_scu_info = {
863
- .name = TYPE_ASPEED_2600_SCU,
864
- .parent = TYPE_ASPEED_SCU,
865
- .instance_size = sizeof(AspeedSCUState),
866
- .class_init = aspeed_2600_scu_class_init,
867
-};
868
-
839
static uint64_t aspeed_ast2700_scu_read(void *opaque, hwaddr offset,
840
unsigned size)
841
{
@@ -1099,20 +1069,6 @@ static void aspeed_2700_scuio_class_init(ObjectClass *klass, const void *data)
1069
asc->ops = &aspeed_ast2700_scuio_ops;
1070
}
1071
1102
-static const TypeInfo aspeed_2700_scu_info = {
1103
- .name = TYPE_ASPEED_2700_SCU,
1104
- .parent = TYPE_ASPEED_SCU,
1105
- .instance_size = sizeof(AspeedSCUState),
1106
- .class_init = aspeed_2700_scu_class_init,
1107
-};
1108
-
1109
-static const TypeInfo aspeed_2700_scuio_info = {
1110
- .name = TYPE_ASPEED_2700_SCUIO,
1111
- .parent = TYPE_ASPEED_SCU,
1112
- .instance_size = sizeof(AspeedSCUState),
1113
- .class_init = aspeed_2700_scuio_class_init,
1114
-};
1115
-
1072
static const uint32_t ast1030_a1_resets[ASPEED_AST2600_SCU_NR_REGS] = {
1073
[AST2600_SYS_RST_CTRL] = 0xFFC3FED8,
1074
[AST2600_SYS_RST_CTRL2] = 0x09FFFFFC,
@@ -1158,22 +1114,51 @@ static void aspeed_1030_scu_class_init(ObjectClass *klass, const void *data)
1114
asc->ops = &aspeed_ast2600_scu_ops;
1115
}
1116
1161
-static const TypeInfo aspeed_1030_scu_info = {
1162
- .name = TYPE_ASPEED_1030_SCU,
1163
- .parent = TYPE_ASPEED_SCU,
1164
- .instance_size = sizeof(AspeedSCUState),
1165
- .class_init = aspeed_1030_scu_class_init,
1117
+static const TypeInfo aspeed_scu_types[] = {
1118
+ {
1119
+ .name = TYPE_ASPEED_SCU,
1120
+ .parent = TYPE_SYS_BUS_DEVICE,
1121
+ .instance_size = sizeof(AspeedSCUState),
1122
+ .class_init = aspeed_scu_class_init,
1123
+ .class_size = sizeof(AspeedSCUClass),
1124
+ .abstract = true,
1125
+ },
1126
+ {
1127
+ .name = TYPE_ASPEED_1030_SCU,
1128
+ .parent = TYPE_ASPEED_SCU,
1129
+ .instance_size = sizeof(AspeedSCUState),
1130
+ .class_init = aspeed_1030_scu_class_init,
1131
+ },
1132
+ {
1133
+ .name = TYPE_ASPEED_2400_SCU,
1134
+ .parent = TYPE_ASPEED_SCU,
1135
+ .instance_size = sizeof(AspeedSCUState),
1136
+ .class_init = aspeed_2400_scu_class_init,
1137
+ },
1138
+ {
1139
+ .name = TYPE_ASPEED_2500_SCU,
1140
+ .parent = TYPE_ASPEED_SCU,
1141
+ .instance_size = sizeof(AspeedSCUState),
1142
+ .class_init = aspeed_2500_scu_class_init,
1143
+ },
1144
+ {
1145
+ .name = TYPE_ASPEED_2600_SCU,
1146
+ .parent = TYPE_ASPEED_SCU,
1147
+ .instance_size = sizeof(AspeedSCUState),
1148
+ .class_init = aspeed_2600_scu_class_init,
1149
+ },
1150
+ {
1151
+ .name = TYPE_ASPEED_2700_SCU,
1152
+ .parent = TYPE_ASPEED_SCU,
1153
+ .instance_size = sizeof(AspeedSCUState),
1154
+ .class_init = aspeed_2700_scu_class_init,
1155
+ },
1156
+ {
1157
+ .name = TYPE_ASPEED_2700_SCUIO,
1158
+ .parent = TYPE_ASPEED_SCU,
1159
+ .instance_size = sizeof(AspeedSCUState),
1160
+ .class_init = aspeed_2700_scuio_class_init,
1161
+ }
1162
};
1163
1168
-static void aspeed_scu_register_types(void)
1169
-{
1170
- type_register_static(&aspeed_scu_info);
1171
- type_register_static(&aspeed_2400_scu_info);
1172
- type_register_static(&aspeed_2500_scu_info);
1173
- type_register_static(&aspeed_2600_scu_info);
1174
- type_register_static(&aspeed_1030_scu_info);
1175
- type_register_static(&aspeed_2700_scu_info);
1176
- type_register_static(&aspeed_2700_scuio_info);
1177
-}
1178
-
1179
-type_init(aspeed_scu_register_types);
1164
+DEFINE_TYPES(aspeed_scu_types)