When multiple QOM types are registered in the same file,
it is simpler to use the the DEFINE_TYPES() macro. Replace
the type_init() / type_register_static() combination.

Signed-off-by: Philippe Mathieu-Daudé <phi...@linaro.org>
---
 hw/arm/realview.c | 50 ++++++++++++++++++-----------------------------
 1 file changed, 19 insertions(+), 31 deletions(-)

diff --git a/hw/arm/realview.c b/hw/arm/realview.c
index a52ff35084..07a80d0de3 100644
--- a/hw/arm/realview.c
+++ b/hw/arm/realview.c
@@ -412,12 +412,6 @@ static void realview_eb_class_init(ObjectClass *oc, void 
*data)
     mc->default_cpu_type = ARM_CPU_TYPE_NAME("arm926");
 }
 
-static const TypeInfo realview_eb_type = {
-    .name = MACHINE_TYPE_NAME("realview-eb"),
-    .parent = TYPE_MACHINE,
-    .class_init = realview_eb_class_init,
-};
-
 static void realview_eb_mpcore_class_init(ObjectClass *oc, void *data)
 {
     MachineClass *mc = MACHINE_CLASS(oc);
@@ -430,12 +424,6 @@ static void realview_eb_mpcore_class_init(ObjectClass *oc, 
void *data)
     mc->default_cpu_type = ARM_CPU_TYPE_NAME("arm11mpcore");
 }
 
-static const TypeInfo realview_eb_mpcore_type = {
-    .name = MACHINE_TYPE_NAME("realview-eb-mpcore"),
-    .parent = TYPE_MACHINE,
-    .class_init = realview_eb_mpcore_class_init,
-};
-
 static void realview_pb_a8_class_init(ObjectClass *oc, void *data)
 {
     MachineClass *mc = MACHINE_CLASS(oc);
@@ -446,12 +434,6 @@ static void realview_pb_a8_class_init(ObjectClass *oc, 
void *data)
     mc->default_cpu_type = ARM_CPU_TYPE_NAME("cortex-a8");
 }
 
-static const TypeInfo realview_pb_a8_type = {
-    .name = MACHINE_TYPE_NAME("realview-pb-a8"),
-    .parent = TYPE_MACHINE,
-    .class_init = realview_pb_a8_class_init,
-};
-
 static void realview_pbx_a9_class_init(ObjectClass *oc, void *data)
 {
     MachineClass *mc = MACHINE_CLASS(oc);
@@ -463,18 +445,24 @@ static void realview_pbx_a9_class_init(ObjectClass *oc, 
void *data)
     mc->default_cpu_type = ARM_CPU_TYPE_NAME("cortex-a9");
 }
 
-static const TypeInfo realview_pbx_a9_type = {
-    .name = MACHINE_TYPE_NAME("realview-pbx-a9"),
-    .parent = TYPE_MACHINE,
-    .class_init = realview_pbx_a9_class_init,
+static const TypeInfo realview_machine_types[] = {
+    {
+        .name           = MACHINE_TYPE_NAME("realview-eb"),
+        .parent         = TYPE_MACHINE,
+        .class_init     = realview_eb_class_init,
+    }, {
+        .name           = MACHINE_TYPE_NAME("realview-eb-mpcore"),
+        .parent         = TYPE_MACHINE,
+        .class_init     = realview_eb_mpcore_class_init,
+    }, {
+        .name           = MACHINE_TYPE_NAME("realview-pb-a8"),
+        .parent         = TYPE_MACHINE,
+        .class_init     = realview_pb_a8_class_init,
+    }, {
+        .name           = MACHINE_TYPE_NAME("realview-pbx-a9"),
+        .parent         = TYPE_MACHINE,
+        .class_init     = realview_pbx_a9_class_init,
+    }
 };
 
-static void realview_machine_init(void)
-{
-    type_register_static(&realview_eb_type);
-    type_register_static(&realview_eb_mpcore_type);
-    type_register_static(&realview_pb_a8_type);
-    type_register_static(&realview_pbx_a9_type);
-}
-
-type_init(realview_machine_init)
+DEFINE_TYPES(realview_machine_types)
-- 
2.38.1


Reply via email to