diff options
author | Andreas Färber <afaerber@suse.de> | 2015-09-19 10:49:44 +0200 |
---|---|---|
committer | Andreas Färber <afaerber@suse.de> | 2015-09-19 16:40:27 +0200 |
commit | 8a661aea0e7f6e776c6ebc9abe339a85b34fea1d (patch) | |
tree | bdb4040a63f38d86d8c84157b60d71a84927ebb7 /hw/ppc/ppc405_boards.c | |
parent | e264d29de28c5b0be3d063307ce9fb613b427cc3 (diff) |
Revert use of DEFINE_MACHINE() for registrations of multiple machines
The script used for converting from QEMUMachine had used one
DEFINE_MACHINE() per machine registered. In cases where multiple
machines are registered from one source file, avoid the excessive
generation of module init functions by reverting this unrolling.
Signed-off-by: Andreas Färber <afaerber@suse.de>
Diffstat (limited to 'hw/ppc/ppc405_boards.c')
-rw-r--r-- | hw/ppc/ppc405_boards.c | 28 |
1 files changed, 24 insertions, 4 deletions
diff --git a/hw/ppc/ppc405_boards.c b/hw/ppc/ppc405_boards.c index 56980bf0c1..ec87587d6d 100644 --- a/hw/ppc/ppc405_boards.c +++ b/hw/ppc/ppc405_boards.c @@ -369,13 +369,19 @@ static void ref405ep_init(MachineState *machine) #endif } -static void ref405ep_machine_init(MachineClass *mc) +static void ref405ep_class_init(ObjectClass *oc, void *data) { + MachineClass *mc = MACHINE_CLASS(oc); + mc->desc = "ref405ep"; mc->init = ref405ep_init; } -DEFINE_MACHINE("ref405ep", ref405ep_machine_init) +static const TypeInfo ref405ep_type = { + .name = MACHINE_TYPE_NAME("ref405ep"), + .parent = TYPE_MACHINE, + .class_init = ref405ep_class_init, +}; /*****************************************************************************/ /* AMCC Taihu evaluation board */ @@ -667,10 +673,24 @@ static void taihu_405ep_init(MachineState *machine) #endif } -static void taihu_machine_init(MachineClass *mc) +static void taihu_class_init(ObjectClass *oc, void *data) { + MachineClass *mc = MACHINE_CLASS(oc); + mc->desc = "taihu"; mc->init = taihu_405ep_init; } -DEFINE_MACHINE("taihu", taihu_machine_init) +static const TypeInfo taihu_type = { + .name = MACHINE_TYPE_NAME("taihu"), + .parent = TYPE_MACHINE, + .class_init = taihu_class_init, +}; + +static void ppc405_machine_init(void) +{ + type_register_static(&ref405ep_type); + type_register_static(&taihu_type); +} + +machine_init(ppc405_machine_init) |