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)