hw/misc/aspeed_sdmc: Convert to DEFINE_TYPES() with inlined TypeInfo
Replace the legacy type_register_static()/type_init() registration pattern with the modern DEFINE_TYPES() macro. Inline 5 standalone TypeInfo variables (aspeed_sdmc_info as abstract base, aspeed_2400_sdmc_info, aspeed_2500_sdmc_info, aspeed_2600_sdmc_info, aspeed_2700_sdmc_info) directly into the 'aspeed_sdmc_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-8-jamin_lin@aspeedtech.com Signed-off-by: Cédric Le Goater <clg@redhat.com>
Jamin Lin committed
Jun 1, 2026 at 02:50 UTC
54c2f5ae1450a3099a8977f488f0dc4be3f7172e
1 file changed
+31
-42
hw/misc/aspeed_sdmc.c
+31
-42
@@ -310,16 +310,6 @@ static void aspeed_sdmc_class_init(ObjectClass *klass, const void *data)
310
device_class_set_props(dc, aspeed_sdmc_properties);
311
}
312
313
-static const TypeInfo aspeed_sdmc_info = {
314
- .name = TYPE_ASPEED_SDMC,
315
- .parent = TYPE_SYS_BUS_DEVICE,
316
- .instance_size = sizeof(AspeedSDMCState),
317
- .instance_init = aspeed_sdmc_initfn,
318
- .class_init = aspeed_sdmc_class_init,
319
- .class_size = sizeof(AspeedSDMCClass),
320
- .abstract = true,
321
-};
322
-
313
static int aspeed_sdmc_get_ram_bits(AspeedSDMCState *s)
314
{
315
AspeedSDMCClass *asc = ASPEED_SDMC_GET_CLASS(s);
@@ -393,12 +383,6 @@ static void aspeed_2400_sdmc_class_init(ObjectClass *klass, const void *data)
383
asc->valid_ram_sizes = aspeed_2400_ram_sizes;
384
}
385
396
-static const TypeInfo aspeed_2400_sdmc_info = {
397
- .name = TYPE_ASPEED_2400_SDMC,
398
- .parent = TYPE_ASPEED_SDMC,
399
- .class_init = aspeed_2400_sdmc_class_init,
400
-};
401
-
386
static uint32_t aspeed_2500_sdmc_compute_conf(AspeedSDMCState *s, uint32_t data)
387
{
388
uint32_t fixed_conf = ASPEED_SDMC_HW_VERSION(1) |
@@ -461,12 +445,6 @@ static void aspeed_2500_sdmc_class_init(ObjectClass *klass, const void *data)
445
asc->valid_ram_sizes = aspeed_2500_ram_sizes;
446
}
447
464
-static const TypeInfo aspeed_2500_sdmc_info = {
465
- .name = TYPE_ASPEED_2500_SDMC,
466
- .parent = TYPE_ASPEED_SDMC,
467
- .class_init = aspeed_2500_sdmc_class_init,
468
-};
469
-
448
static uint32_t aspeed_2600_sdmc_compute_conf(AspeedSDMCState *s, uint32_t data)
449
{
450
uint32_t fixed_conf = ASPEED_SDMC_HW_VERSION(3) |
@@ -555,12 +533,6 @@ static void aspeed_2600_sdmc_class_init(ObjectClass *klass, const void *data)
533
asc->valid_ram_sizes = aspeed_2600_ram_sizes;
534
}
535
558
-static const TypeInfo aspeed_2600_sdmc_info = {
559
- .name = TYPE_ASPEED_2600_SDMC,
560
- .parent = TYPE_ASPEED_SDMC,
561
- .class_init = aspeed_2600_sdmc_class_init,
562
-};
563
-
536
static void aspeed_2700_sdmc_reset_hold(Object *obj, ResetType type)
537
{
538
AspeedSDMCState *s = ASPEED_SDMC(obj);
@@ -690,19 +662,36 @@ static void aspeed_2700_sdmc_class_init(ObjectClass *klass, const void *data)
662
asc->valid_ram_sizes = aspeed_2700_ram_sizes;
663
}
664
693
-static const TypeInfo aspeed_2700_sdmc_info = {
694
- .name = TYPE_ASPEED_2700_SDMC,
695
- .parent = TYPE_ASPEED_SDMC,
696
- .class_init = aspeed_2700_sdmc_class_init,
665
+static const TypeInfo aspeed_sdmc_types[] = {
666
+ {
667
+ .name = TYPE_ASPEED_SDMC,
668
+ .parent = TYPE_SYS_BUS_DEVICE,
669
+ .instance_size = sizeof(AspeedSDMCState),
670
+ .instance_init = aspeed_sdmc_initfn,
671
+ .class_init = aspeed_sdmc_class_init,
672
+ .class_size = sizeof(AspeedSDMCClass),
673
+ .abstract = true,
674
+ },
675
+ {
676
+ .name = TYPE_ASPEED_2400_SDMC,
677
+ .parent = TYPE_ASPEED_SDMC,
678
+ .class_init = aspeed_2400_sdmc_class_init,
679
+ },
680
+ {
681
+ .name = TYPE_ASPEED_2500_SDMC,
682
+ .parent = TYPE_ASPEED_SDMC,
683
+ .class_init = aspeed_2500_sdmc_class_init,
684
+ },
685
+ {
686
+ .name = TYPE_ASPEED_2600_SDMC,
687
+ .parent = TYPE_ASPEED_SDMC,
688
+ .class_init = aspeed_2600_sdmc_class_init,
689
+ },
690
+ {
691
+ .name = TYPE_ASPEED_2700_SDMC,
692
+ .parent = TYPE_ASPEED_SDMC,
693
+ .class_init = aspeed_2700_sdmc_class_init,
694
+ }
695
};
696
699
-static void aspeed_sdmc_register_types(void)
700
-{
701
- type_register_static(&aspeed_sdmc_info);
702
- type_register_static(&aspeed_2400_sdmc_info);
703
- type_register_static(&aspeed_2500_sdmc_info);
704
- type_register_static(&aspeed_2600_sdmc_info);
705
- type_register_static(&aspeed_2700_sdmc_info);
706
-}
707
-
708
-type_init(aspeed_sdmc_register_types);
697
+DEFINE_TYPES(aspeed_sdmc_types)