hw/misc/aspeed_xdma: Convert to DEFINE_TYPES() with inlined TypeInfo
Replace the legacy type_register_static()/type_init() registration pattern with the modern DEFINE_TYPES() macro. Inline 4 standalone TypeInfo variables (aspeed_xdma_info as abstract base, aspeed_2400_xdma_info, aspeed_2500_xdma_info, aspeed_2600_xdma_info) directly into the 'aspeed_xdma_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-10-jamin_lin@aspeedtech.com Signed-off-by: Cédric Le Goater <clg@redhat.com>
Jamin Lin committed
Jun 1, 2026 at 02:50 UTC
752ba21c3ffd39daf38c202d27c148f4042fd442
1 file changed
+25
-33
hw/misc/aspeed_xdma.c
+25
-33
@@ -167,12 +167,6 @@ static void aspeed_2600_xdma_class_init(ObjectClass *klass, const void *data)
167
XDMA_AST2600_IRQ_STATUS_DS_COMP;
168
}
169
170
-static const TypeInfo aspeed_2600_xdma_info = {
171
- .name = TYPE_ASPEED_2600_XDMA,
172
- .parent = TYPE_ASPEED_XDMA,
173
- .class_init = aspeed_2600_xdma_class_init,
174
-};
175
-
170
static void aspeed_2500_xdma_class_init(ObjectClass *klass, const void *data)
171
{
172
DeviceClass *dc = DEVICE_CLASS(klass);
@@ -189,12 +183,6 @@ static void aspeed_2500_xdma_class_init(ObjectClass *klass, const void *data)
183
axc->intr_complete = XDMA_IRQ_ENG_STAT_US_COMP | XDMA_IRQ_ENG_STAT_DS_COMP;
184
};
185
192
-static const TypeInfo aspeed_2500_xdma_info = {
193
- .name = TYPE_ASPEED_2500_XDMA,
194
- .parent = TYPE_ASPEED_XDMA,
195
- .class_init = aspeed_2500_xdma_class_init,
196
-};
197
-
186
static void aspeed_2400_xdma_class_init(ObjectClass *klass, const void *data)
187
{
188
DeviceClass *dc = DEVICE_CLASS(klass);
@@ -211,12 +199,6 @@ static void aspeed_2400_xdma_class_init(ObjectClass *klass, const void *data)
199
axc->intr_complete = XDMA_IRQ_ENG_STAT_US_COMP | XDMA_IRQ_ENG_STAT_DS_COMP;
200
};
201
214
-static const TypeInfo aspeed_2400_xdma_info = {
215
- .name = TYPE_ASPEED_2400_XDMA,
216
- .parent = TYPE_ASPEED_XDMA,
217
- .class_init = aspeed_2400_xdma_class_init,
218
-};
219
-
202
static void aspeed_xdma_class_init(ObjectClass *classp, const void *data)
203
{
204
DeviceClass *dc = DEVICE_CLASS(classp);
@@ -227,20 +209,30 @@ static void aspeed_xdma_class_init(ObjectClass *classp, const void *data)
209
dc->vmsd = &aspeed_xdma_vmstate;
210
}
211
230
-static const TypeInfo aspeed_xdma_info = {
231
- .name = TYPE_ASPEED_XDMA,
232
- .parent = TYPE_SYS_BUS_DEVICE,
233
- .instance_size = sizeof(AspeedXDMAState),
234
- .class_init = aspeed_xdma_class_init,
235
- .class_size = sizeof(AspeedXDMAClass),
236
- .abstract = true,
212
+static const TypeInfo aspeed_xdma_types[] = {
213
+ {
214
+ .name = TYPE_ASPEED_XDMA,
215
+ .parent = TYPE_SYS_BUS_DEVICE,
216
+ .instance_size = sizeof(AspeedXDMAState),
217
+ .class_init = aspeed_xdma_class_init,
218
+ .class_size = sizeof(AspeedXDMAClass),
219
+ .abstract = true,
220
+ },
221
+ {
222
+ .name = TYPE_ASPEED_2400_XDMA,
223
+ .parent = TYPE_ASPEED_XDMA,
224
+ .class_init = aspeed_2400_xdma_class_init,
225
+ },
226
+ {
227
+ .name = TYPE_ASPEED_2500_XDMA,
228
+ .parent = TYPE_ASPEED_XDMA,
229
+ .class_init = aspeed_2500_xdma_class_init,
230
+ },
231
+ {
232
+ .name = TYPE_ASPEED_2600_XDMA,
233
+ .parent = TYPE_ASPEED_XDMA,
234
+ .class_init = aspeed_2600_xdma_class_init,
235
+ }
236
};
237
239
-static void aspeed_xdma_register_type(void)
240
-{
241
- type_register_static(&aspeed_xdma_info);
242
- type_register_static(&aspeed_2400_xdma_info);
243
- type_register_static(&aspeed_2500_xdma_info);
244
- type_register_static(&aspeed_2600_xdma_info);
245
-}
246
-type_init(aspeed_xdma_register_type);
238
+DEFINE_TYPES(aspeed_xdma_types)