@samitouri / QOSamiQemu / commits / 752ba21c3f

hw/misc/aspeed_xdma: Convert to DEFINE_TYPES() with inlined TypeInfo

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> Reviewed-by: Cédric Le Goater <clg@redhat.com> Link: https://lore.kernel.org/qemu-devel/20260601024959.2347639-10-jamin_lin@aspeedtech.com Signed-off-by: Cédric Le Goater <clg@redhat.com>

Jamin Lin committed Jun 1, 2026 at 02:50 UTC 752ba21c3ffd39daf38c202d27c148f4042fd442
1 file changed +25 -33
hw/misc/aspeed_xdma.c
+25 -33
@@ -167,12 +167,6 @@ static void aspeed_2600_xdma_class_init(ObjectClass *klass, const void *data)
167 XDMA_AST2600_IRQ_STATUS_DS_COMP;
168 }
169
170 -static const TypeInfo aspeed_2600_xdma_info = {
171 - .name = TYPE_ASPEED_2600_XDMA,
172 - .parent = TYPE_ASPEED_XDMA,
173 - .class_init = aspeed_2600_xdma_class_init,
174 -};
175 -
170 static void aspeed_2500_xdma_class_init(ObjectClass *klass, const void *data)
171 {
172 DeviceClass *dc = DEVICE_CLASS(klass);
@@ -189,12 +183,6 @@ static void aspeed_2500_xdma_class_init(ObjectClass *klass, const void *data)
183 axc->intr_complete = XDMA_IRQ_ENG_STAT_US_COMP | XDMA_IRQ_ENG_STAT_DS_COMP;
184 };
185
192 -static const TypeInfo aspeed_2500_xdma_info = {
193 - .name = TYPE_ASPEED_2500_XDMA,
194 - .parent = TYPE_ASPEED_XDMA,
195 - .class_init = aspeed_2500_xdma_class_init,
196 -};
197 -
186 static void aspeed_2400_xdma_class_init(ObjectClass *klass, const void *data)
187 {
188 DeviceClass *dc = DEVICE_CLASS(klass);
@@ -211,12 +199,6 @@ static void aspeed_2400_xdma_class_init(ObjectClass *klass, const void *data)
199 axc->intr_complete = XDMA_IRQ_ENG_STAT_US_COMP | XDMA_IRQ_ENG_STAT_DS_COMP;
200 };
201
214 -static const TypeInfo aspeed_2400_xdma_info = {
215 - .name = TYPE_ASPEED_2400_XDMA,
216 - .parent = TYPE_ASPEED_XDMA,
217 - .class_init = aspeed_2400_xdma_class_init,
218 -};
219 -
202 static void aspeed_xdma_class_init(ObjectClass *classp, const void *data)
203 {
204 DeviceClass *dc = DEVICE_CLASS(classp);
@@ -227,20 +209,30 @@ static void aspeed_xdma_class_init(ObjectClass *classp, const void *data)
209 dc->vmsd = &aspeed_xdma_vmstate;
210 }
211
230 -static const TypeInfo aspeed_xdma_info = {
231 - .name = TYPE_ASPEED_XDMA,
232 - .parent = TYPE_SYS_BUS_DEVICE,
233 - .instance_size = sizeof(AspeedXDMAState),
234 - .class_init = aspeed_xdma_class_init,
235 - .class_size = sizeof(AspeedXDMAClass),
236 - .abstract = true,
212 +static const TypeInfo aspeed_xdma_types[] = {
213 + {
214 + .name = TYPE_ASPEED_XDMA,
215 + .parent = TYPE_SYS_BUS_DEVICE,
216 + .instance_size = sizeof(AspeedXDMAState),
217 + .class_init = aspeed_xdma_class_init,
218 + .class_size = sizeof(AspeedXDMAClass),
219 + .abstract = true,
220 + },
221 + {
222 + .name = TYPE_ASPEED_2400_XDMA,
223 + .parent = TYPE_ASPEED_XDMA,
224 + .class_init = aspeed_2400_xdma_class_init,
225 + },
226 + {
227 + .name = TYPE_ASPEED_2500_XDMA,
228 + .parent = TYPE_ASPEED_XDMA,
229 + .class_init = aspeed_2500_xdma_class_init,
230 + },
231 + {
232 + .name = TYPE_ASPEED_2600_XDMA,
233 + .parent = TYPE_ASPEED_XDMA,
234 + .class_init = aspeed_2600_xdma_class_init,
235 + }
236 };
237
239 -static void aspeed_xdma_register_type(void)
240 -{
241 - type_register_static(&aspeed_xdma_info);
242 - type_register_static(&aspeed_2400_xdma_info);
243 - type_register_static(&aspeed_2500_xdma_info);
244 - type_register_static(&aspeed_2600_xdma_info);
245 -}
246 -type_init(aspeed_xdma_register_type);
238 +DEFINE_TYPES(aspeed_xdma_types)