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é <phi...@linaro.org> --- hw/arm/cubieboard.c | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/hw/arm/cubieboard.c b/hw/arm/cubieboard.c index d665d4edd97..36062ac7037 100644 --- a/hw/arm/cubieboard.c +++ b/hw/arm/cubieboard.c @@ -106,12 +106,13 @@ static void cubieboard_init(MachineState *machine) arm_load_kernel(&a10->cpu, machine, &cubieboard_binfo); } -static void cubieboard_machine_init(MachineClass *mc) +static void cubieboard_machine_class_init(ObjectClass *oc, void *data) { static const char * const valid_cpu_types[] = { ARM_CPU_TYPE_NAME("cortex-a8"), NULL }; + MachineClass *mc = MACHINE_CLASS(oc); mc->desc = "cubietech cubieboard (Cortex-A8)"; mc->default_cpu_type = ARM_CPU_TYPE_NAME("cortex-a8"); @@ -125,4 +126,12 @@ static void cubieboard_machine_init(MachineClass *mc) mc->auto_create_sdcard = true; } -DEFINE_MACHINE("cubieboard", cubieboard_machine_init) +static const TypeInfo cubieboard_machine_types[] = { + { + .name = MACHINE_TYPE_NAME("cubieboard"), + .parent = TYPE_MACHINE, + .class_init = cubieboard_machine_class_init, + }, +}; + +DEFINE_TYPES(cubieboard_machine_types) -- 2.47.1