On 9/23/24 11:30, Bernhard Beschow wrote:
> Signed-off-by: Bernhard Beschow <shentey@gmail.com>
Reviewed-by: Cédric Le Goater <clg@redhat.com>
Thanks,
C.
> ---
> hw/sd/sdhci.c | 62 +++++++++++++++++++++------------------------------
> 1 file changed, 26 insertions(+), 36 deletions(-)
>
> diff --git a/hw/sd/sdhci.c b/hw/sd/sdhci.c
> index 87122e4245..3ed2d8658a 100644
> --- a/hw/sd/sdhci.c
> +++ b/hw/sd/sdhci.c
> @@ -37,7 +37,6 @@
> #include "migration/vmstate.h"
> #include "sdhci-internal.h"
> #include "qemu/log.h"
> -#include "qemu/module.h"
> #include "trace.h"
> #include "qom/object.h"
>
> @@ -1598,15 +1597,6 @@ static void sdhci_sysbus_class_init(ObjectClass *klass, void *data)
> sdhci_common_class_init(klass, data);
> }
>
> -static const TypeInfo sdhci_sysbus_info = {
> - .name = TYPE_SYSBUS_SDHCI,
> - .parent = TYPE_SYS_BUS_DEVICE,
> - .instance_size = sizeof(SDHCIState),
> - .instance_init = sdhci_sysbus_init,
> - .instance_finalize = sdhci_sysbus_finalize,
> - .class_init = sdhci_sysbus_class_init,
> -};
> -
> /* --- qdev bus master --- */
>
> static void sdhci_bus_class_init(ObjectClass *klass, void *data)
> @@ -1617,13 +1607,6 @@ static void sdhci_bus_class_init(ObjectClass *klass, void *data)
> sbc->set_readonly = sdhci_set_readonly;
> }
>
> -static const TypeInfo sdhci_bus_info = {
> - .name = TYPE_SDHCI_BUS,
> - .parent = TYPE_SD_BUS,
> - .instance_size = sizeof(SDBus),
> - .class_init = sdhci_bus_class_init,
> -};
> -
> /* --- qdev i.MX eSDHC --- */
>
> #define USDHC_MIX_CTRL 0x48
> @@ -1882,12 +1865,6 @@ static void imx_usdhc_init(Object *obj)
> s->quirks = SDHCI_QUIRK_NO_BUSY_IRQ;
> }
>
> -static const TypeInfo imx_usdhc_info = {
> - .name = TYPE_IMX_USDHC,
> - .parent = TYPE_SYSBUS_SDHCI,
> - .instance_init = imx_usdhc_init,
> -};
> -
> /* --- qdev Samsung s3c --- */
>
> #define S3C_SDHCI_CONTROL2 0x80
> @@ -1946,18 +1923,31 @@ static void sdhci_s3c_init(Object *obj)
> s->io_ops = &sdhci_s3c_mmio_ops;
> }
>
> -static const TypeInfo sdhci_s3c_info = {
> - .name = TYPE_S3C_SDHCI ,
> - .parent = TYPE_SYSBUS_SDHCI,
> - .instance_init = sdhci_s3c_init,
> +static const TypeInfo types[] = {
> + {
> + .name = TYPE_SDHCI_BUS,
> + .parent = TYPE_SD_BUS,
> + .instance_size = sizeof(SDBus),
> + .class_init = sdhci_bus_class_init,
> + },
> + {
> + .name = TYPE_SYSBUS_SDHCI,
> + .parent = TYPE_SYS_BUS_DEVICE,
> + .instance_size = sizeof(SDHCIState),
> + .instance_init = sdhci_sysbus_init,
> + .instance_finalize = sdhci_sysbus_finalize,
> + .class_init = sdhci_sysbus_class_init,
> + },
> + {
> + .name = TYPE_IMX_USDHC,
> + .parent = TYPE_SYSBUS_SDHCI,
> + .instance_init = imx_usdhc_init,
> + },
> + {
> + .name = TYPE_S3C_SDHCI,
> + .parent = TYPE_SYSBUS_SDHCI,
> + .instance_init = sdhci_s3c_init,
> + },
> };
>
> -static void sdhci_register_types(void)
> -{
> - type_register_static(&sdhci_sysbus_info);
> - type_register_static(&sdhci_bus_info);
> - type_register_static(&imx_usdhc_info);
> - type_register_static(&sdhci_s3c_info);
> -}
> -
> -type_init(sdhci_register_types)
> +DEFINE_TYPES(types)