@samitouri / QOSamiQemu / commits / 4c97df78d5

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>

Jamin Lin committed Jun 1, 2026 at 02:50 UTC 4c97df78d5c288b5346214b20db5cc04ba184663
1 file changed +40 -53
hw/watchdog/wdt_aspeed.c
+40 -53
@@ -321,15 +321,6 @@ static void aspeed_wdt_class_init(ObjectClass *klass, const void *data)
321 dc->desc = "Aspeed watchdog device";
322 }
323
324 -static const TypeInfo aspeed_wdt_info = {
325 - .parent = TYPE_SYS_BUS_DEVICE,
326 - .name = TYPE_ASPEED_WDT,
327 - .instance_size = sizeof(AspeedWDTState),
328 - .class_init = aspeed_wdt_class_init,
329 - .class_size = sizeof(AspeedWDTClass),
330 - .abstract = true,
331 -};
332 -
324 static void aspeed_2400_wdt_class_init(ObjectClass *klass, const void *data)
325 {
326 DeviceClass *dc = DEVICE_CLASS(klass);
@@ -345,13 +336,6 @@ static void aspeed_2400_wdt_class_init(ObjectClass *klass, const void *data)
336 awc->default_reload_value = 0x03EF1480;
337 }
338
348 -static const TypeInfo aspeed_2400_wdt_info = {
349 - .name = TYPE_ASPEED_2400_WDT,
350 - .parent = TYPE_ASPEED_WDT,
351 - .instance_size = sizeof(AspeedWDTState),
352 - .class_init = aspeed_2400_wdt_class_init,
353 -};
354 -
339 static void aspeed_2500_wdt_reset_pulse(AspeedWDTState *s, uint32_t property)
340 {
341 if (property) {
@@ -383,13 +367,6 @@ static void aspeed_2500_wdt_class_init(ObjectClass *klass, const void *data)
367 awc->default_reload_value = 0x014FB180;
368 }
369
386 -static const TypeInfo aspeed_2500_wdt_info = {
387 - .name = TYPE_ASPEED_2500_WDT,
388 - .parent = TYPE_ASPEED_WDT,
389 - .instance_size = sizeof(AspeedWDTState),
390 - .class_init = aspeed_2500_wdt_class_init,
391 -};
392 -
370 static void aspeed_2600_wdt_class_init(ObjectClass *klass, const void *data)
371 {
372 DeviceClass *dc = DEVICE_CLASS(klass);
@@ -406,13 +383,6 @@ static void aspeed_2600_wdt_class_init(ObjectClass *klass, const void *data)
383 awc->default_reload_value = 0x014FB180;
384 }
385
409 -static const TypeInfo aspeed_2600_wdt_info = {
410 - .name = TYPE_ASPEED_2600_WDT,
411 - .parent = TYPE_ASPEED_WDT,
412 - .instance_size = sizeof(AspeedWDTState),
413 - .class_init = aspeed_2600_wdt_class_init,
414 -};
415 -
386 static void aspeed_1030_wdt_class_init(ObjectClass *klass, const void *data)
387 {
388 DeviceClass *dc = DEVICE_CLASS(klass);
@@ -429,13 +399,6 @@ static void aspeed_1030_wdt_class_init(ObjectClass *klass, const void *data)
399 awc->default_reload_value = 0x014FB180;
400 }
401
432 -static const TypeInfo aspeed_1030_wdt_info = {
433 - .name = TYPE_ASPEED_1030_WDT,
434 - .parent = TYPE_ASPEED_WDT,
435 - .instance_size = sizeof(AspeedWDTState),
436 - .class_init = aspeed_1030_wdt_class_init,
437 -};
438 -
402 static void aspeed_2700_wdt_class_init(ObjectClass *klass, const void *data)
403 {
404 DeviceClass *dc = DEVICE_CLASS(klass);
@@ -452,21 +415,45 @@ static void aspeed_2700_wdt_class_init(ObjectClass *klass, const void *data)
415 awc->default_reload_value = 0x014FB180;
416 }
417
455 -static const TypeInfo aspeed_2700_wdt_info = {
456 - .name = TYPE_ASPEED_2700_WDT,
457 - .parent = TYPE_ASPEED_WDT,
458 - .instance_size = sizeof(AspeedWDTState),
459 - .class_init = aspeed_2700_wdt_class_init,
418 +static const TypeInfo aspeed_wdt_types[] = {
419 + {
420 + .parent = TYPE_SYS_BUS_DEVICE,
421 + .name = TYPE_ASPEED_WDT,
422 + .instance_size = sizeof(AspeedWDTState),
423 + .class_init = aspeed_wdt_class_init,
424 + .class_size = sizeof(AspeedWDTClass),
425 + .abstract = true,
426 + },
427 + {
428 + .name = TYPE_ASPEED_1030_WDT,
429 + .parent = TYPE_ASPEED_WDT,
430 + .instance_size = sizeof(AspeedWDTState),
431 + .class_init = aspeed_1030_wdt_class_init,
432 + },
433 + {
434 + .name = TYPE_ASPEED_2400_WDT,
435 + .parent = TYPE_ASPEED_WDT,
436 + .instance_size = sizeof(AspeedWDTState),
437 + .class_init = aspeed_2400_wdt_class_init,
438 + },
439 + {
440 + .name = TYPE_ASPEED_2500_WDT,
441 + .parent = TYPE_ASPEED_WDT,
442 + .instance_size = sizeof(AspeedWDTState),
443 + .class_init = aspeed_2500_wdt_class_init,
444 + },
445 + {
446 + .name = TYPE_ASPEED_2600_WDT,
447 + .parent = TYPE_ASPEED_WDT,
448 + .instance_size = sizeof(AspeedWDTState),
449 + .class_init = aspeed_2600_wdt_class_init,
450 + },
451 + {
452 + .name = TYPE_ASPEED_2700_WDT,
453 + .parent = TYPE_ASPEED_WDT,
454 + .instance_size = sizeof(AspeedWDTState),
455 + .class_init = aspeed_2700_wdt_class_init,
456 + }
457 };
458
462 -static void wdt_aspeed_register_types(void)
463 -{
464 - type_register_static(&aspeed_wdt_info);
465 - type_register_static(&aspeed_2400_wdt_info);
466 - type_register_static(&aspeed_2500_wdt_info);
467 - type_register_static(&aspeed_2600_wdt_info);
468 - type_register_static(&aspeed_2700_wdt_info);
469 - type_register_static(&aspeed_1030_wdt_info);
470 -}
471 -
472 -type_init(wdt_aspeed_register_types)
459 +DEFINE_TYPES(aspeed_wdt_types)