diff mbox series

[18/23] hw/sd/sdhci: Prefer DEFINE_TYPES() macro

Message ID 20240923093016.66437-19-shentey@gmail.com
State New
Headers show
Series E500 Cleanup | expand

Commit Message

Bernhard Beschow Sept. 23, 2024, 9:30 a.m. UTC
Signed-off-by: Bernhard Beschow <shentey@gmail.com>
---
 hw/sd/sdhci.c | 62 +++++++++++++++++++++------------------------------
 1 file changed, 26 insertions(+), 36 deletions(-)

Comments

Cédric Le Goater Sept. 25, 2024, 3:41 p.m. UTC | #1
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)
diff mbox series

Patch

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)