@samitouri / QOSamiQemu / commits / ec0be11f88

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)