@@ -136,8 +136,10 @@ static void canon_a1100_init(MachineState *machine)
digic4_board_init(machine, &digic4_board_canon_a1100);
}
-static void canon_a1100_machine_init(MachineClass *mc)
+static void digic_machine_class_init(ObjectClass *oc, void *data)
{
+ MachineClass *mc = MACHINE_CLASS(oc);
+
mc->desc = "Canon PowerShot A1100 IS (ARM946)";
mc->init = &canon_a1100_init;
mc->ignore_memory_transaction_failures = true;
@@ -145,4 +147,12 @@ static void canon_a1100_machine_init(MachineClass *mc)
mc->default_ram_id = "ram";
}
-DEFINE_MACHINE("canon-a1100", canon_a1100_machine_init)
+static const TypeInfo digic_machine_types[] = {
+ {
+ .name = MACHINE_TYPE_NAME("canon-a1100"),
+ .parent = TYPE_MACHINE,
+ .class_init = digic_machine_class_init,
+ },
+};
+
+DEFINE_TYPES(digic_machine_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/digic_boards.c | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-)