qemu-arm
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH-for-5.1 v3 14/24] hw/arm/xlnx-zynqmp: Use single propagate_er


From: Alistair Francis
Subject: Re: [PATCH-for-5.1 v3 14/24] hw/arm/xlnx-zynqmp: Use single propagate_error() call
Date: Mon, 13 Apr 2020 15:05:12 -0700

On Sun, Apr 12, 2020 at 3:45 PM Philippe Mathieu-Daudé <address@hidden> wrote:
>
> Coccinelle failed at processing this file:
>
>   $ spatch ... --timeout 60 --sp-file \
>     scripts/coccinelle/simplify-init-realize-error_propagate.cocci
>   HANDLING: ./hw/arm/xlnx-zynqmp.c
>   EXN: Coccinelle_modules.Common.Timeout
>
> We are going to manually add the missing propagate_error() calls.
> As there are many Error* calls used, simplify by using an unique
> call to propagate_error().

I'm not a huge fan of goto's so I'm not sure this is simpler.

Alistair

>
> Signed-off-by: Philippe Mathieu-Daudé <address@hidden>
> ---
>  hw/arm/xlnx-zynqmp.c | 61 +++++++++++++++++---------------------------
>  1 file changed, 23 insertions(+), 38 deletions(-)
>
> diff --git a/hw/arm/xlnx-zynqmp.c b/hw/arm/xlnx-zynqmp.c
> index b84d153d56..43d57fa7de 100644
> --- a/hw/arm/xlnx-zynqmp.c
> +++ b/hw/arm/xlnx-zynqmp.c
> @@ -385,15 +385,13 @@ static void xlnx_zynqmp_realize(DeviceState *dev, Error 
> **errp)
>          object_property_set_bool(OBJECT(&s->apu_cpu[i]), true, "realized",
>                                   &err);
>          if (err) {
> -            error_propagate(errp, err);
> -            return;
> +            goto out_propagate_error;
>          }
>      }
>
>      object_property_set_bool(OBJECT(&s->gic), true, "realized", &err);
>      if (err) {
> -        error_propagate(errp, err);
> -        return;
> +        goto out_propagate_error;
>      }
>
>      assert(ARRAY_SIZE(xlnx_zynqmp_gic_regions) == XLNX_ZYNQMP_GIC_REGIONS);
> @@ -462,8 +460,7 @@ static void xlnx_zynqmp_realize(DeviceState *dev, Error 
> **errp)
>
>      xlnx_zynqmp_create_rpu(ms, s, boot_cpu, &err);
>      if (err) {
> -        error_propagate(errp, err);
> -        return;
> +        goto out_propagate_error;
>      }
>
>      if (!s->boot_cpu_ptr) {
> @@ -488,8 +485,7 @@ static void xlnx_zynqmp_realize(DeviceState *dev, Error 
> **errp)
>                                  &error_abort);
>          object_property_set_bool(OBJECT(&s->gem[i]), true, "realized", &err);
>          if (err) {
> -            error_propagate(errp, err);
> -            return;
> +            goto out_propagate_error;
>          }
>          sysbus_mmio_map(SYS_BUS_DEVICE(&s->gem[i]), 0, gem_addr[i]);
>          sysbus_connect_irq(SYS_BUS_DEVICE(&s->gem[i]), 0,
> @@ -500,8 +496,7 @@ static void xlnx_zynqmp_realize(DeviceState *dev, Error 
> **errp)
>          qdev_prop_set_chr(DEVICE(&s->uart[i]), "chardev", serial_hd(i));
>          object_property_set_bool(OBJECT(&s->uart[i]), true, "realized", 
> &err);
>          if (err) {
> -            error_propagate(errp, err);
> -            return;
> +            goto out_propagate_error;
>          }
>          sysbus_mmio_map(SYS_BUS_DEVICE(&s->uart[i]), 0, uart_addr[i]);
>          sysbus_connect_irq(SYS_BUS_DEVICE(&s->uart[i]), 0,
> @@ -512,8 +507,7 @@ static void xlnx_zynqmp_realize(DeviceState *dev, Error 
> **errp)
>                              &error_abort);
>      object_property_set_bool(OBJECT(&s->sata), true, "realized", &err);
>      if (err) {
> -        error_propagate(errp, err);
> -        return;
> +        goto out_propagate_error;
>      }
>
>      sysbus_mmio_map(SYS_BUS_DEVICE(&s->sata), 0, SATA_ADDR);
> @@ -531,23 +525,19 @@ static void xlnx_zynqmp_realize(DeviceState *dev, Error 
> **errp)
>           */
>          object_property_set_uint(sdhci, 3, "sd-spec-version", &err);
>          if (err) {
> -            error_propagate(errp, err);
> -            return;
> +            goto out_propagate_error;
>          }
>          object_property_set_uint(sdhci, SDHCI_CAPABILITIES, "capareg", &err);
>          if (err) {
> -            error_propagate(errp, err);
> -            return;
> +            goto out_propagate_error;
>          }
>          object_property_set_uint(sdhci, UHS_I, "uhs", &err);
>          if (err) {
> -            error_propagate(errp, err);
> -            return;
> +            goto out_propagate_error;
>          }
>          object_property_set_bool(sdhci, true, "realized", &err);
>          if (err) {
> -            error_propagate(errp, err);
> -            return;
> +            goto out_propagate_error;
>          }
>          sysbus_mmio_map(sbd, 0, sdhci_addr[i]);
>          sysbus_connect_irq(sbd, 0, gic_spi[sdhci_intr[i]]);
> @@ -564,8 +554,7 @@ static void xlnx_zynqmp_realize(DeviceState *dev, Error 
> **errp)
>
>          object_property_set_bool(OBJECT(&s->spi[i]), true, "realized", &err);
>          if (err) {
> -            error_propagate(errp, err);
> -            return;
> +            goto out_propagate_error;
>          }
>
>          sysbus_mmio_map(SYS_BUS_DEVICE(&s->spi[i]), 0, spi_addr[i]);
> @@ -582,8 +571,7 @@ static void xlnx_zynqmp_realize(DeviceState *dev, Error 
> **errp)
>
>      object_property_set_bool(OBJECT(&s->qspi), true, "realized", &err);
>      if (err) {
> -        error_propagate(errp, err);
> -        return;
> +        goto out_propagate_error;
>      }
>      sysbus_mmio_map(SYS_BUS_DEVICE(&s->qspi), 0, QSPI_ADDR);
>      sysbus_mmio_map(SYS_BUS_DEVICE(&s->qspi), 1, LQSPI_ADDR);
> @@ -605,16 +593,14 @@ static void xlnx_zynqmp_realize(DeviceState *dev, Error 
> **errp)
>
>      object_property_set_bool(OBJECT(&s->dp), true, "realized", &err);
>      if (err) {
> -        error_propagate(errp, err);
> -        return;
> +        goto out_propagate_error;
>      }
>      sysbus_mmio_map(SYS_BUS_DEVICE(&s->dp), 0, DP_ADDR);
>      sysbus_connect_irq(SYS_BUS_DEVICE(&s->dp), 0, gic_spi[DP_IRQ]);
>
>      object_property_set_bool(OBJECT(&s->dpdma), true, "realized", &err);
>      if (err) {
> -        error_propagate(errp, err);
> -        return;
> +        goto out_propagate_error;
>      }
>      object_property_set_link(OBJECT(&s->dp), OBJECT(&s->dpdma), "dpdma",
>                               &error_abort);
> @@ -623,16 +609,14 @@ static void xlnx_zynqmp_realize(DeviceState *dev, Error 
> **errp)
>
>      object_property_set_bool(OBJECT(&s->ipi), true, "realized", &err);
>      if (err) {
> -        error_propagate(errp, err);
> -        return;
> +        goto out_propagate_error;
>      }
>      sysbus_mmio_map(SYS_BUS_DEVICE(&s->ipi), 0, IPI_ADDR);
>      sysbus_connect_irq(SYS_BUS_DEVICE(&s->ipi), 0, gic_spi[IPI_IRQ]);
>
>      object_property_set_bool(OBJECT(&s->rtc), true, "realized", &err);
>      if (err) {
> -        error_propagate(errp, err);
> -        return;
> +        goto out_propagate_error;
>      }
>      sysbus_mmio_map(SYS_BUS_DEVICE(&s->rtc), 0, RTC_ADDR);
>      sysbus_connect_irq(SYS_BUS_DEVICE(&s->rtc), 0, gic_spi[RTC_IRQ]);
> @@ -640,13 +624,11 @@ static void xlnx_zynqmp_realize(DeviceState *dev, Error 
> **errp)
>      for (i = 0; i < XLNX_ZYNQMP_NUM_GDMA_CH; i++) {
>          object_property_set_uint(OBJECT(&s->gdma[i]), 128, "bus-width", 
> &err);
>          if (err) {
> -            error_propagate(errp, err);
> -            return;
> +            goto out_propagate_error;
>          }
>          object_property_set_bool(OBJECT(&s->gdma[i]), true, "realized", 
> &err);
>          if (err) {
> -            error_propagate(errp, err);
> -            return;
> +            goto out_propagate_error;
>          }
>
>          sysbus_mmio_map(SYS_BUS_DEVICE(&s->gdma[i]), 0, gdma_ch_addr[i]);
> @@ -657,14 +639,17 @@ static void xlnx_zynqmp_realize(DeviceState *dev, Error 
> **errp)
>      for (i = 0; i < XLNX_ZYNQMP_NUM_ADMA_CH; i++) {
>          object_property_set_bool(OBJECT(&s->adma[i]), true, "realized", 
> &err);
>          if (err) {
> -            error_propagate(errp, err);
> -            return;
> +            goto out_propagate_error;
>          }
>
>          sysbus_mmio_map(SYS_BUS_DEVICE(&s->adma[i]), 0, adma_ch_addr[i]);
>          sysbus_connect_irq(SYS_BUS_DEVICE(&s->adma[i]), 0,
>                             gic_spi[adma_ch_intr[i]]);
>      }
> +    return;
> +
> +out_propagate_error:
> +    error_propagate(errp, err);
>  }
>
>  static Property xlnx_zynqmp_props[] = {
> --
> 2.21.1
>
>



reply via email to

[Prev in Thread] Current Thread [Next in Thread]