On 4/24/25 12:49, Philippe Mathieu-Daudé wrote:
> Prefer DEFINE_TYPES() macro over type_init() to register
> QOM types.
>
> Initialize the .interfaces struct field as compound literal
> casted to InterfaceInfo type like the rest of our code base.
>
> Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
> ---
> hw/misc/edu.c | 21 +++++++++------------
> 1 file changed, 9 insertions(+), 12 deletions(-)
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
r~
>
> diff --git a/hw/misc/edu.c b/hw/misc/edu.c
> index 504178b4a22..5723ef0ed13 100644
> --- a/hw/misc/edu.c
> +++ b/hw/misc/edu.c
> @@ -429,21 +429,18 @@ static void edu_class_init(ObjectClass *class, void *data)
> set_bit(DEVICE_CATEGORY_MISC, dc->categories);
> }
>
> -static void pci_edu_register_types(void)
> -{
> - static InterfaceInfo interfaces[] = {
> - { INTERFACE_CONVENTIONAL_PCI_DEVICE },
> - { },
> - };
> - static const TypeInfo edu_info = {
> +static const TypeInfo edu_types[] = {
> + {
> .name = TYPE_PCI_EDU_DEVICE,
> .parent = TYPE_PCI_DEVICE,
> .instance_size = sizeof(EduState),
> .instance_init = edu_instance_init,
> .class_init = edu_class_init,
> - .interfaces = interfaces,
> - };
> + .interfaces = (InterfaceInfo[]) {
> + { INTERFACE_CONVENTIONAL_PCI_DEVICE },
> + { },
> + },
> + }
> +};
>
> - type_register_static(&edu_info);
> -}
> -type_init(pci_edu_register_types)
> +DEFINE_TYPES(edu_types)