From: Jamin Lin Date: Mon, 1 Jun 2026 02:50:10 +0000 (+0000) Subject: hw/misc/aspeed_scu: Convert to DEFINE_TYPES() with inlined TypeInfo X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=ec0be11f888359fa65575d4fb5fd7bfab94ac8a4;p=thirdparty%2Fqemu.git hw/misc/aspeed_scu: Convert to DEFINE_TYPES() with inlined TypeInfo Replace the legacy type_register_static()/type_init() registration pattern with the modern DEFINE_TYPES() macro. Inline 7 standalone TypeInfo variables (aspeed_scu_info as abstract base, aspeed_2400_scu_info, aspeed_2500_scu_info, aspeed_2600_scu_info, aspeed_1030_scu_info, aspeed_2700_scu_info, aspeed_2700_scuio_info) directly into the 'aspeed_scu_types[]' array, removing the need for separate declarations. No functional change. Signed-off-by: Jamin Lin Reviewed-by: Cédric Le Goater Link: https://lore.kernel.org/qemu-devel/20260601024959.2347639-7-jamin_lin@aspeedtech.com Signed-off-by: Cédric Le Goater --- diff --git a/hw/misc/aspeed_scu.c b/hw/misc/aspeed_scu.c index 19da6c075f..fe731a28bd 100644 --- a/hw/misc/aspeed_scu.c +++ b/hw/misc/aspeed_scu.c @@ -624,15 +624,6 @@ static void aspeed_scu_class_init(ObjectClass *klass, const void *data) device_class_set_props(dc, aspeed_scu_properties); } -static const TypeInfo aspeed_scu_info = { - .name = TYPE_ASPEED_SCU, - .parent = TYPE_SYS_BUS_DEVICE, - .instance_size = sizeof(AspeedSCUState), - .class_init = aspeed_scu_class_init, - .class_size = sizeof(AspeedSCUClass), - .abstract = true, -}; - static void aspeed_2400_scu_class_init(ObjectClass *klass, const void *data) { DeviceClass *dc = DEVICE_CLASS(klass); @@ -648,13 +639,6 @@ static void aspeed_2400_scu_class_init(ObjectClass *klass, const void *data) asc->ops = &aspeed_ast2400_scu_ops; } -static const TypeInfo aspeed_2400_scu_info = { - .name = TYPE_ASPEED_2400_SCU, - .parent = TYPE_ASPEED_SCU, - .instance_size = sizeof(AspeedSCUState), - .class_init = aspeed_2400_scu_class_init, -}; - static void aspeed_2500_scu_class_init(ObjectClass *klass, const void *data) { DeviceClass *dc = DEVICE_CLASS(klass); @@ -670,13 +654,6 @@ static void aspeed_2500_scu_class_init(ObjectClass *klass, const void *data) asc->ops = &aspeed_ast2500_scu_ops; } -static const TypeInfo aspeed_2500_scu_info = { - .name = TYPE_ASPEED_2500_SCU, - .parent = TYPE_ASPEED_SCU, - .instance_size = sizeof(AspeedSCUState), - .class_init = aspeed_2500_scu_class_init, -}; - static uint64_t aspeed_ast2600_scu_read(void *opaque, hwaddr offset, unsigned size) { @@ -859,13 +836,6 @@ static void aspeed_2600_scu_class_init(ObjectClass *klass, const void *data) asc->ops = &aspeed_ast2600_scu_ops; } -static const TypeInfo aspeed_2600_scu_info = { - .name = TYPE_ASPEED_2600_SCU, - .parent = TYPE_ASPEED_SCU, - .instance_size = sizeof(AspeedSCUState), - .class_init = aspeed_2600_scu_class_init, -}; - static uint64_t aspeed_ast2700_scu_read(void *opaque, hwaddr offset, unsigned size) { @@ -1099,20 +1069,6 @@ static void aspeed_2700_scuio_class_init(ObjectClass *klass, const void *data) asc->ops = &aspeed_ast2700_scuio_ops; } -static const TypeInfo aspeed_2700_scu_info = { - .name = TYPE_ASPEED_2700_SCU, - .parent = TYPE_ASPEED_SCU, - .instance_size = sizeof(AspeedSCUState), - .class_init = aspeed_2700_scu_class_init, -}; - -static const TypeInfo aspeed_2700_scuio_info = { - .name = TYPE_ASPEED_2700_SCUIO, - .parent = TYPE_ASPEED_SCU, - .instance_size = sizeof(AspeedSCUState), - .class_init = aspeed_2700_scuio_class_init, -}; - static const uint32_t ast1030_a1_resets[ASPEED_AST2600_SCU_NR_REGS] = { [AST2600_SYS_RST_CTRL] = 0xFFC3FED8, [AST2600_SYS_RST_CTRL2] = 0x09FFFFFC, @@ -1158,22 +1114,51 @@ static void aspeed_1030_scu_class_init(ObjectClass *klass, const void *data) asc->ops = &aspeed_ast2600_scu_ops; } -static const TypeInfo aspeed_1030_scu_info = { - .name = TYPE_ASPEED_1030_SCU, - .parent = TYPE_ASPEED_SCU, - .instance_size = sizeof(AspeedSCUState), - .class_init = aspeed_1030_scu_class_init, +static const TypeInfo aspeed_scu_types[] = { + { + .name = TYPE_ASPEED_SCU, + .parent = TYPE_SYS_BUS_DEVICE, + .instance_size = sizeof(AspeedSCUState), + .class_init = aspeed_scu_class_init, + .class_size = sizeof(AspeedSCUClass), + .abstract = true, + }, + { + .name = TYPE_ASPEED_1030_SCU, + .parent = TYPE_ASPEED_SCU, + .instance_size = sizeof(AspeedSCUState), + .class_init = aspeed_1030_scu_class_init, + }, + { + .name = TYPE_ASPEED_2400_SCU, + .parent = TYPE_ASPEED_SCU, + .instance_size = sizeof(AspeedSCUState), + .class_init = aspeed_2400_scu_class_init, + }, + { + .name = TYPE_ASPEED_2500_SCU, + .parent = TYPE_ASPEED_SCU, + .instance_size = sizeof(AspeedSCUState), + .class_init = aspeed_2500_scu_class_init, + }, + { + .name = TYPE_ASPEED_2600_SCU, + .parent = TYPE_ASPEED_SCU, + .instance_size = sizeof(AspeedSCUState), + .class_init = aspeed_2600_scu_class_init, + }, + { + .name = TYPE_ASPEED_2700_SCU, + .parent = TYPE_ASPEED_SCU, + .instance_size = sizeof(AspeedSCUState), + .class_init = aspeed_2700_scu_class_init, + }, + { + .name = TYPE_ASPEED_2700_SCUIO, + .parent = TYPE_ASPEED_SCU, + .instance_size = sizeof(AspeedSCUState), + .class_init = aspeed_2700_scuio_class_init, + } }; -static void aspeed_scu_register_types(void) -{ - type_register_static(&aspeed_scu_info); - type_register_static(&aspeed_2400_scu_info); - type_register_static(&aspeed_2500_scu_info); - type_register_static(&aspeed_2600_scu_info); - type_register_static(&aspeed_1030_scu_info); - type_register_static(&aspeed_2700_scu_info); - type_register_static(&aspeed_2700_scuio_info); -} - -type_init(aspeed_scu_register_types); +DEFINE_TYPES(aspeed_scu_types)