On Tue, 31 Oct 2023 at 13:55, Peter Maydell <peter.mayd...@linaro.org> wrote: > > On Mon, 30 Oct 2023 at 20:38, Mark Cave-Ayland > <mark.cave-ayl...@ilande.co.uk> wrote: > > > > On 30/10/2023 11:48, Peter Maydell wrote: > > Is it worth converting this to use DEFINE_TYPES() during the conversion? I > > know Phil > > has considered some automation to remove the type_init() boilerplate for > > the majority > > of cases. > > I could, I guess. It seems a bit awkward that DEFINE_TYPES() > wants you to pass it an array even when you only have one type, > though, which is going to be a very common use case.
I'm going to squash this into this patch: diff --git a/hw/input/stellaris_gamepad.c b/hw/input/stellaris_gamepad.c index 6ccf0e80adc..d42ba4f0582 100644 --- a/hw/input/stellaris_gamepad.c +++ b/hw/input/stellaris_gamepad.c @@ -90,16 +90,13 @@ static void stellaris_gamepad_class_init(ObjectClass *klass, void *data) device_class_set_props(dc, stellaris_gamepad_properties); } -static const TypeInfo stellaris_gamepad_info = { - .name = TYPE_STELLARIS_GAMEPAD, - .parent = TYPE_SYS_BUS_DEVICE, - .instance_size = sizeof(StellarisGamepad), - .class_init = stellaris_gamepad_class_init, +static const TypeInfo stellaris_gamepad_info[] = { + { + .name = TYPE_STELLARIS_GAMEPAD, + .parent = TYPE_SYS_BUS_DEVICE, + .instance_size = sizeof(StellarisGamepad), + .class_init = stellaris_gamepad_class_init, + }, }; -static void stellaris_gamepad_register_types(void) -{ - type_register_static(&stellaris_gamepad_info); -} - -type_init(stellaris_gamepad_register_types); +DEFINE_TYPES(stellaris_gamepad_info); The array is a bit awkward, but it's overall better than having to define the register-types function. thanks -- PMM