@@ -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)
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/musicpal.c | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-)