diff mbox series

[02/11] hw/arm/bananapi: Define machine as generic QOM type

Message ID 20250417235814.98677-3-philmd@linaro.org
State New
Headers show
Series hw/arm: Define machines as generic QOM types | expand

Commit Message

Philippe Mathieu-Daudé April 17, 2025, 11:58 p.m. UTC
While DEFINE_MACHINE() is a succinct macro, it doesn't
allow registering QOM interfaces to the defined machine.
Convert to the generic DEFINE_TYPES() in preparation to
register interfaces.

Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
---
 hw/arm/bananapi_m2u.c | 13 +++++++++++--
 1 file changed, 11 insertions(+), 2 deletions(-)
diff mbox series

Patch

diff --git a/hw/arm/bananapi_m2u.c b/hw/arm/bananapi_m2u.c
index b750a575f72..724ee4b05e5 100644
--- a/hw/arm/bananapi_m2u.c
+++ b/hw/arm/bananapi_m2u.c
@@ -125,12 +125,13 @@  static void bpim2u_init(MachineState *machine)
     arm_load_kernel(&r40->cpus[0], machine, &bpim2u_binfo);
 }
 
-static void bpim2u_machine_init(MachineClass *mc)
+static void bpim2u_machine_class_init(ObjectClass *oc, void *data)
 {
     static const char * const valid_cpu_types[] = {
         ARM_CPU_TYPE_NAME("cortex-a7"),
         NULL
     };
+    MachineClass *mc = MACHINE_CLASS(oc);
 
     mc->desc = "Bananapi M2U (Cortex-A7)";
     mc->init = bpim2u_init;
@@ -144,4 +145,12 @@  static void bpim2u_machine_init(MachineClass *mc)
     mc->auto_create_sdcard = true;
 }
 
-DEFINE_MACHINE("bpim2u", bpim2u_machine_init)
+static const TypeInfo bananapi_machine_types[] = {
+    {
+        .name           = MACHINE_TYPE_NAME("bpim2u"),
+        .parent         = TYPE_MACHINE,
+        .class_init     = bpim2u_machine_class_init,
+    },
+};
+
+DEFINE_TYPES(bananapi_machine_types)