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/musicpal.c | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/hw/arm/musicpal.c b/hw/arm/musicpal.c index 48a32c24079..f7c488cd1d6 100644 --- a/hw/arm/musicpal.c +++ b/hw/arm/musicpal.c @@ -1334,8 +1334,10 @@ static void musicpal_init(MachineState *machine) arm_load_kernel(cpu, machine, &musicpal_binfo); } -static void musicpal_machine_init(MachineClass *mc) +static void musicpal_machine_class_init(ObjectClass *oc, void *data) { + MachineClass *mc = MACHINE_CLASS(oc); + mc->desc = "Marvell 88w8618 / MusicPal (ARM926EJ-S)"; mc->init = musicpal_init; mc->ignore_memory_transaction_failures = true; @@ -1346,8 +1348,6 @@ static void musicpal_machine_init(MachineClass *mc) machine_add_audiodev_property(mc); } -DEFINE_MACHINE("musicpal", musicpal_machine_init) - static void mv88w8618_wlan_class_init(ObjectClass *klass, void *data) { DeviceClass *dc = DEVICE_CLASS(klass); @@ -1375,3 +1375,13 @@ static void musicpal_register_types(void) } type_init(musicpal_register_types) + +static const TypeInfo musicpal_types[] = { + { + .name = MACHINE_TYPE_NAME("musicpal"), + .parent = TYPE_MACHINE, + .class_init = musicpal_machine_class_init, + }, +}; + +DEFINE_TYPES(musicpal_types) -- 2.47.1