@samitouri / QOSamiQemu / commits / 54c2f5ae14

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)