diff mbox series

[v3,10/17] hw/arm/xlnx-zynqmp: Use &error_abort for programming errors

Message ID 20241108154317.12129-11-philmd@linaro.org
State New
Headers show
Series hw/microblaze: Allow running cross-endian vCPUs | expand

Commit Message

Philippe Mathieu-Daudé Nov. 8, 2024, 3:43 p.m. UTC
When a property value is static (not provided by QMP or CLI),
error shouldn't happen, otherwise it is a programming error.
Therefore simplify and use &error_abort as this can't fail.

Reported-by: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
---
 hw/arm/xlnx-zynqmp.c | 44 ++++++++++++++------------------------------
 1 file changed, 14 insertions(+), 30 deletions(-)

Comments

Philippe Mathieu-Daudé Feb. 4, 2025, 9:34 p.m. UTC | #1
ping for trivial review?

On 8/11/24 16:43, Philippe Mathieu-Daudé wrote:
> When a property value is static (not provided by QMP or CLI),
> error shouldn't happen, otherwise it is a programming error.
> Therefore simplify and use &error_abort as this can't fail.
> 
> Reported-by: Richard Henderson <richard.henderson@linaro.org>
> Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
> ---
>   hw/arm/xlnx-zynqmp.c | 44 ++++++++++++++------------------------------
>   1 file changed, 14 insertions(+), 30 deletions(-)
> 
> diff --git a/hw/arm/xlnx-zynqmp.c b/hw/arm/xlnx-zynqmp.c
> index e735dbdf82..1770fb5402 100644
> --- a/hw/arm/xlnx-zynqmp.c
> +++ b/hw/arm/xlnx-zynqmp.c
> @@ -689,16 +689,10 @@ static void xlnx_zynqmp_realize(DeviceState *dev, Error **errp)
>            * - SDIO Specification Version 3.0
>            * - eMMC Specification Version 4.51
>            */
> -        if (!object_property_set_uint(sdhci, "sd-spec-version", 3, errp)) {
> -            return;
> -        }
> -        if (!object_property_set_uint(sdhci, "capareg", SDHCI_CAPABILITIES,
> -                                      errp)) {
> -            return;
> -        }
> -        if (!object_property_set_uint(sdhci, "uhs", UHS_I, errp)) {
> -            return;
> -        }
> +        object_property_set_uint(sdhci, "sd-spec-version", 3, &error_abort);
> +        object_property_set_uint(sdhci, "capareg", SDHCI_CAPABILITIES,
> +                                 &error_abort);
> +        object_property_set_uint(sdhci, "uhs", UHS_I, &error_abort);
>           if (!sysbus_realize(SYS_BUS_DEVICE(sdhci), errp)) {
>               return;
>           }
> @@ -714,10 +708,8 @@ static void xlnx_zynqmp_realize(DeviceState *dev, Error **errp)
>       for (i = 0; i < XLNX_ZYNQMP_NUM_SPIS; i++) {
>           gchar *bus_name;
>   
> -        if (!object_property_set_bool(OBJECT(&s->spi[i])), "little-endian",
> -                                      true, errp)) {
> -            return;
> -        }
> +        object_property_set_bool(OBJECT(&s->spi[i]), "little-endian",
> +                                 true, &error_abort);
>           if (!sysbus_realize(SYS_BUS_DEVICE(&s->spi[i]), errp)) {
>               return;
>           }
> @@ -767,14 +759,10 @@ static void xlnx_zynqmp_realize(DeviceState *dev, Error **errp)
>       xlnx_zynqmp_create_unimp_mmio(s);
>   
>       for (i = 0; i < XLNX_ZYNQMP_NUM_GDMA_CH; i++) {
> -        if (!object_property_set_uint(OBJECT(&s->gdma[i]), "bus-width", 128,
> -                                      errp)) {
> -            return;
> -        }
> -        if (!object_property_set_link(OBJECT(&s->gdma[i]), "dma",
> -                                      OBJECT(system_memory), errp)) {
> -            return;
> -        }
> +        object_property_set_uint(OBJECT(&s->gdma[i]), "bus-width", 128,
> +                                 &error_abort);
> +        object_property_set_link(OBJECT(&s->gdma[i]), "dma",
> +                                 OBJECT(system_memory), &error_abort);
>           if (!sysbus_realize(SYS_BUS_DEVICE(&s->gdma[i]), errp)) {
>               return;
>           }
> @@ -815,10 +803,8 @@ static void xlnx_zynqmp_realize(DeviceState *dev, Error **errp)
>       sysbus_connect_irq(SYS_BUS_DEVICE(&s->qspi_dma), 0,
>                          qdev_get_gpio_in(DEVICE(&s->qspi_irq_orgate), 0));
>   
> -    if (!object_property_set_link(OBJECT(&s->qspi), "stream-connected-dma",
> -                                  OBJECT(&s->qspi_dma), errp)) {
> -         return;
> -    }
> +    object_property_set_link(OBJECT(&s->qspi), "stream-connected-dma",
> +                             OBJECT(&s->qspi_dma), &error_abort);
>       if (!sysbus_realize(SYS_BUS_DEVICE(&s->qspi), errp)) {
>           return;
>       }
> @@ -837,10 +823,8 @@ static void xlnx_zynqmp_realize(DeviceState *dev, Error **errp)
>       }
>   
>       for (i = 0; i < XLNX_ZYNQMP_NUM_USB; i++) {
> -        if (!object_property_set_link(OBJECT(&s->usb[i].sysbus_xhci), "dma",
> -                                      OBJECT(system_memory), errp)) {
> -            return;
> -        }
> +        object_property_set_link(OBJECT(&s->usb[i].sysbus_xhci), "dma",
> +                                 OBJECT(system_memory), &error_abort);
>   
>           qdev_prop_set_uint32(DEVICE(&s->usb[i].sysbus_xhci), "intrs", 4);
>           qdev_prop_set_uint32(DEVICE(&s->usb[i].sysbus_xhci), "slots", 2);
diff mbox series

Patch

diff --git a/hw/arm/xlnx-zynqmp.c b/hw/arm/xlnx-zynqmp.c
index e735dbdf82..1770fb5402 100644
--- a/hw/arm/xlnx-zynqmp.c
+++ b/hw/arm/xlnx-zynqmp.c
@@ -689,16 +689,10 @@  static void xlnx_zynqmp_realize(DeviceState *dev, Error **errp)
          * - SDIO Specification Version 3.0
          * - eMMC Specification Version 4.51
          */
-        if (!object_property_set_uint(sdhci, "sd-spec-version", 3, errp)) {
-            return;
-        }
-        if (!object_property_set_uint(sdhci, "capareg", SDHCI_CAPABILITIES,
-                                      errp)) {
-            return;
-        }
-        if (!object_property_set_uint(sdhci, "uhs", UHS_I, errp)) {
-            return;
-        }
+        object_property_set_uint(sdhci, "sd-spec-version", 3, &error_abort);
+        object_property_set_uint(sdhci, "capareg", SDHCI_CAPABILITIES,
+                                 &error_abort);
+        object_property_set_uint(sdhci, "uhs", UHS_I, &error_abort);
         if (!sysbus_realize(SYS_BUS_DEVICE(sdhci), errp)) {
             return;
         }
@@ -714,10 +708,8 @@  static void xlnx_zynqmp_realize(DeviceState *dev, Error **errp)
     for (i = 0; i < XLNX_ZYNQMP_NUM_SPIS; i++) {
         gchar *bus_name;
 
-        if (!object_property_set_bool(OBJECT(&s->spi[i])), "little-endian",
-                                      true, errp)) {
-            return;
-        }
+        object_property_set_bool(OBJECT(&s->spi[i]), "little-endian",
+                                 true, &error_abort);
         if (!sysbus_realize(SYS_BUS_DEVICE(&s->spi[i]), errp)) {
             return;
         }
@@ -767,14 +759,10 @@  static void xlnx_zynqmp_realize(DeviceState *dev, Error **errp)
     xlnx_zynqmp_create_unimp_mmio(s);
 
     for (i = 0; i < XLNX_ZYNQMP_NUM_GDMA_CH; i++) {
-        if (!object_property_set_uint(OBJECT(&s->gdma[i]), "bus-width", 128,
-                                      errp)) {
-            return;
-        }
-        if (!object_property_set_link(OBJECT(&s->gdma[i]), "dma",
-                                      OBJECT(system_memory), errp)) {
-            return;
-        }
+        object_property_set_uint(OBJECT(&s->gdma[i]), "bus-width", 128,
+                                 &error_abort);
+        object_property_set_link(OBJECT(&s->gdma[i]), "dma",
+                                 OBJECT(system_memory), &error_abort);
         if (!sysbus_realize(SYS_BUS_DEVICE(&s->gdma[i]), errp)) {
             return;
         }
@@ -815,10 +803,8 @@  static void xlnx_zynqmp_realize(DeviceState *dev, Error **errp)
     sysbus_connect_irq(SYS_BUS_DEVICE(&s->qspi_dma), 0,
                        qdev_get_gpio_in(DEVICE(&s->qspi_irq_orgate), 0));
 
-    if (!object_property_set_link(OBJECT(&s->qspi), "stream-connected-dma",
-                                  OBJECT(&s->qspi_dma), errp)) {
-         return;
-    }
+    object_property_set_link(OBJECT(&s->qspi), "stream-connected-dma",
+                             OBJECT(&s->qspi_dma), &error_abort);
     if (!sysbus_realize(SYS_BUS_DEVICE(&s->qspi), errp)) {
         return;
     }
@@ -837,10 +823,8 @@  static void xlnx_zynqmp_realize(DeviceState *dev, Error **errp)
     }
 
     for (i = 0; i < XLNX_ZYNQMP_NUM_USB; i++) {
-        if (!object_property_set_link(OBJECT(&s->usb[i].sysbus_xhci), "dma",
-                                      OBJECT(system_memory), errp)) {
-            return;
-        }
+        object_property_set_link(OBJECT(&s->usb[i].sysbus_xhci), "dma",
+                                 OBJECT(system_memory), &error_abort);
 
         qdev_prop_set_uint32(DEVICE(&s->usb[i].sysbus_xhci), "intrs", 4);
         qdev_prop_set_uint32(DEVICE(&s->usb[i].sysbus_xhci), "slots", 2);