All of lore.kernel.org
 help / color / mirror / Atom feed
From: Greg Kurz <groug@kaod.org>
To: Markus Armbruster <armbru@redhat.com>
Cc: peter.maydell@linaro.org, vsementsov@virtuozzo.com,
	berrange@redhat.com, ehabkost@redhat.com, qemu-block@nongnu.org,
	qemu-devel@nongnu.org, pbonzini@redhat.com
Subject: Re: [PATCH v3 03/44] qdev: Use returned bool to check for qdev_realize() etc. failure
Date: Mon, 6 Jul 2020 12:08:16 +0200	[thread overview]
Message-ID: <20200706120718.70c37bc0@bahia.lan> (raw)
In-Reply-To: <20200706080950.403087-4-armbru@redhat.com>

On Mon,  6 Jul 2020 10:09:09 +0200
Markus Armbruster <armbru@redhat.com> wrote:

> Convert
> 
>     foo(..., &err);
>     if (err) {
>         ...
>     }
> 
> to
> 
>     if (!foo(..., &err)) {
>         ...
>     }
> 
> for qdev_realize(), qdev_realize_and_unref(), qbus_realize() and their
> wrappers isa_realize_and_unref(), pci_realize_and_unref(),
> sysbus_realize(), sysbus_realize_and_unref(), usb_realize_and_unref().
> Coccinelle script:
> 
>     @@
>     identifier fun = {
>         isa_realize_and_unref, pci_realize_and_unref, qbus_realize,
>         qdev_realize, qdev_realize_and_unref, sysbus_realize,
>         sysbus_realize_and_unref, usb_realize_and_unref
>     };
>     expression list args, args2;
>     typedef Error;
>     Error *err;
>     @@
>     -    fun(args, &err, args2);
>     -    if (err)
>     +    if (!fun(args, &err, args2))
>          {
>              ...
>          }
> 
> Chokes on hw/arm/musicpal.c's lcd_refresh() with the unhelpful error
> message "no position information".  Nothing to convert there; skipped.
> 
> Fails to convert hw/arm/armsse.c, because Coccinelle gets confused by
> ARMSSE being used both as typedef and function-like macro there.
> Converted manually.
> 
> A few line breaks tidied up manually.
> 
> Signed-off-by: Markus Armbruster <armbru@redhat.com>
> Reviewed-by: Eric Blake <eblake@redhat.com>
> Reviewed-by: Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com>
> ---

FWIW I had posted an R-b for this patch in v1 (20200629124037.2b9a269e@bahia.lan).

>  hw/arm/allwinner-a10.c          | 15 +++----
>  hw/arm/armsse.c                 | 78 +++++++++++----------------------
>  hw/arm/armv7m.c                 |  9 ++--
>  hw/arm/aspeed_ast2600.c         | 51 +++++++--------------
>  hw/arm/aspeed_soc.c             | 45 +++++++------------
>  hw/arm/bcm2835_peripherals.c    | 45 +++++++------------
>  hw/arm/bcm2836.c                |  9 ++--
>  hw/arm/cubieboard.c             |  3 +-
>  hw/arm/digic.c                  |  9 ++--
>  hw/arm/digic_boards.c           |  3 +-
>  hw/arm/fsl-imx25.c              | 33 +++++---------
>  hw/arm/fsl-imx31.c              | 24 ++++------
>  hw/arm/fsl-imx6.c               | 36 +++++----------
>  hw/arm/msf2-soc.c               | 15 +++----
>  hw/arm/nrf51_soc.c              | 18 +++-----
>  hw/arm/stm32f205_soc.c          | 21 +++------
>  hw/arm/stm32f405_soc.c          | 24 ++++------
>  hw/arm/xlnx-zynqmp.c            | 45 +++++++------------
>  hw/block/fdc.c                  |  3 +-
>  hw/block/xen-block.c            |  3 +-
>  hw/char/serial-pci-multi.c      |  3 +-
>  hw/char/serial-pci.c            |  3 +-
>  hw/char/serial.c                |  6 +--
>  hw/core/cpu.c                   |  3 +-
>  hw/cpu/a15mpcore.c              |  3 +-
>  hw/cpu/a9mpcore.c               | 15 +++----
>  hw/cpu/arm11mpcore.c            | 12 ++---
>  hw/cpu/realview_mpcore.c        |  6 +--
>  hw/display/virtio-gpu-pci.c     |  4 +-
>  hw/display/virtio-vga.c         |  3 +-
>  hw/intc/armv7m_nvic.c           |  6 +--
>  hw/intc/pnv_xive.c              |  6 +--
>  hw/intc/realview_gic.c          |  3 +-
>  hw/intc/spapr_xive.c            |  6 +--
>  hw/intc/xics.c                  |  3 +-
>  hw/intc/xive.c                  |  3 +-
>  hw/isa/piix4.c                  |  3 +-
>  hw/microblaze/xlnx-zynqmp-pmu.c |  6 +--
>  hw/mips/cps.c                   | 12 ++---
>  hw/misc/macio/cuda.c            |  3 +-
>  hw/misc/macio/macio.c           | 18 +++-----
>  hw/misc/macio/pmu.c             |  3 +-
>  hw/pci-host/pnv_phb3.c          |  9 ++--
>  hw/pci-host/pnv_phb4.c          |  3 +-
>  hw/pci-host/pnv_phb4_pec.c      |  3 +-
>  hw/ppc/e500.c                   |  3 +-
>  hw/ppc/pnv.c                    | 39 ++++++-----------
>  hw/ppc/pnv_core.c               |  3 +-
>  hw/ppc/pnv_psi.c                |  6 +--
>  hw/ppc/spapr_cpu_core.c         |  3 +-
>  hw/ppc/spapr_irq.c              |  3 +-
>  hw/riscv/opentitan.c            |  6 +--
>  hw/riscv/sifive_e.c             |  3 +-
>  hw/riscv/sifive_u.c             |  3 +-
>  hw/s390x/event-facility.c       | 10 ++---
>  hw/s390x/s390-pci-bus.c         |  3 +-
>  hw/s390x/sclp.c                 |  3 +-
>  hw/s390x/virtio-ccw-crypto.c    |  3 +-
>  hw/s390x/virtio-ccw-rng.c       |  3 +-
>  hw/scsi/scsi-bus.c              |  3 +-
>  hw/sd/aspeed_sdhci.c            |  3 +-
>  hw/sd/ssi-sd.c                  |  3 +-
>  hw/usb/bus.c                    |  3 +-
>  hw/virtio/virtio-rng-pci.c      |  3 +-
>  qdev-monitor.c                  |  3 +-
>  65 files changed, 248 insertions(+), 495 deletions(-)
> 
> diff --git a/hw/arm/allwinner-a10.c b/hw/arm/allwinner-a10.c
> index 52e0d83760..e1acffe5f6 100644
> --- a/hw/arm/allwinner-a10.c
> +++ b/hw/arm/allwinner-a10.c
> @@ -74,14 +74,12 @@ static void aw_a10_realize(DeviceState *dev, Error **errp)
>      SysBusDevice *sysbusdev;
>      Error *err = NULL;
>  
> -    qdev_realize(DEVICE(&s->cpu), NULL, &err);
> -    if (err != NULL) {
> +    if (!qdev_realize(DEVICE(&s->cpu), NULL, &err)) {
>          error_propagate(errp, err);
>          return;
>      }
>  
> -    sysbus_realize(SYS_BUS_DEVICE(&s->intc), &err);
> -    if (err != NULL) {
> +    if (!sysbus_realize(SYS_BUS_DEVICE(&s->intc), &err)) {
>          error_propagate(errp, err);
>          return;
>      }
> @@ -93,8 +91,7 @@ static void aw_a10_realize(DeviceState *dev, Error **errp)
>                         qdev_get_gpio_in(DEVICE(&s->cpu), ARM_CPU_FIQ));
>      qdev_pass_gpios(DEVICE(&s->intc), dev, NULL);
>  
> -    sysbus_realize(SYS_BUS_DEVICE(&s->timer), &err);
> -    if (err != NULL) {
> +    if (!sysbus_realize(SYS_BUS_DEVICE(&s->timer), &err)) {
>          error_propagate(errp, err);
>          return;
>      }
> @@ -117,8 +114,7 @@ static void aw_a10_realize(DeviceState *dev, Error **errp)
>          qemu_check_nic_model(&nd_table[0], TYPE_AW_EMAC);
>          qdev_set_nic_properties(DEVICE(&s->emac), &nd_table[0]);
>      }
> -    sysbus_realize(SYS_BUS_DEVICE(&s->emac), &err);
> -    if (err != NULL) {
> +    if (!sysbus_realize(SYS_BUS_DEVICE(&s->emac), &err)) {
>          error_propagate(errp, err);
>          return;
>      }
> @@ -126,8 +122,7 @@ static void aw_a10_realize(DeviceState *dev, Error **errp)
>      sysbus_mmio_map(sysbusdev, 0, AW_A10_EMAC_BASE);
>      sysbus_connect_irq(sysbusdev, 0, qdev_get_gpio_in(dev, 55));
>  
> -    sysbus_realize(SYS_BUS_DEVICE(&s->sata), &err);
> -    if (err) {
> +    if (!sysbus_realize(SYS_BUS_DEVICE(&s->sata), &err)) {
>          error_propagate(errp, err);
>          return;
>      }
> diff --git a/hw/arm/armsse.c b/hw/arm/armsse.c
> index e2cf43ee0b..c13f7be685 100644
> --- a/hw/arm/armsse.c
> +++ b/hw/arm/armsse.c
> @@ -566,8 +566,7 @@ static void armsse_realize(DeviceState *dev, Error **errp)
>          object_property_set_link(cpuobj, OBJECT(&s->cpu_container[i]),
>                                   "memory", &error_abort);
>          object_property_set_link(cpuobj, OBJECT(s), "idau", &error_abort);
> -        sysbus_realize(SYS_BUS_DEVICE(cpuobj), &err);
> -        if (err) {
> +        if (!sysbus_realize(SYS_BUS_DEVICE(cpuobj), &err)) {
>              error_propagate(errp, err);
>              return;
>          }
> @@ -577,8 +576,7 @@ static void armsse_realize(DeviceState *dev, Error **errp)
>           * CPU must exist and have been parented into the cluster before
>           * the cluster is realized.
>           */
> -        qdev_realize(DEVICE(&s->cluster[i]), NULL, &err);
> -        if (err) {
> +        if (!qdev_realize(DEVICE(&s->cluster[i]), NULL, &err)) {
>              error_propagate(errp, err);
>              return;
>          }
> @@ -613,8 +611,7 @@ static void armsse_realize(DeviceState *dev, Error **errp)
>                      error_propagate(errp, err);
>                      return;
>                  }
> -                qdev_realize(DEVICE(splitter), NULL, &err);
> -                if (err) {
> +                if (!qdev_realize(DEVICE(splitter), NULL, &err)) {
>                      error_propagate(errp, err);
>                      return;
>                  }
> @@ -646,8 +643,7 @@ static void armsse_realize(DeviceState *dev, Error **errp)
>      }
>  
>      /* Security controller */
> -    sysbus_realize(SYS_BUS_DEVICE(&s->secctl), &err);
> -    if (err) {
> +    if (!sysbus_realize(SYS_BUS_DEVICE(&s->secctl), &err)) {
>          error_propagate(errp, err);
>          return;
>      }
> @@ -669,8 +665,7 @@ static void armsse_realize(DeviceState *dev, Error **errp)
>          error_propagate(errp, err);
>          return;
>      }
> -    qdev_realize(DEVICE(&s->sec_resp_splitter), NULL, &err);
> -    if (err) {
> +    if (!qdev_realize(DEVICE(&s->sec_resp_splitter), NULL, &err)) {
>          error_propagate(errp, err);
>          return;
>      }
> @@ -693,8 +688,7 @@ static void armsse_realize(DeviceState *dev, Error **errp)
>          }
>          object_property_set_link(OBJECT(&s->mpc[i]), OBJECT(&s->sram[i]),
>                                   "downstream", &error_abort);
> -        sysbus_realize(SYS_BUS_DEVICE(&s->mpc[i]), &err);
> -        if (err) {
> +        if (!sysbus_realize(SYS_BUS_DEVICE(&s->mpc[i]), &err)) {
>              error_propagate(errp, err);
>              return;
>          }
> @@ -716,8 +710,7 @@ static void armsse_realize(DeviceState *dev, Error **errp)
>          error_propagate(errp, err);
>          return;
>      }
> -    qdev_realize(DEVICE(&s->mpc_irq_orgate), NULL, &err);
> -    if (err) {
> +    if (!qdev_realize(DEVICE(&s->mpc_irq_orgate), NULL, &err)) {
>          error_propagate(errp, err);
>          return;
>      }
> @@ -735,8 +728,7 @@ static void armsse_realize(DeviceState *dev, Error **errp)
>       * map its upstream ends to the right place in the container.
>       */
>      qdev_prop_set_uint32(DEVICE(&s->timer0), "pclk-frq", s->mainclk_frq);
> -    sysbus_realize(SYS_BUS_DEVICE(&s->timer0), &err);
> -    if (err) {
> +    if (!sysbus_realize(SYS_BUS_DEVICE(&s->timer0), &err)) {
>          error_propagate(errp, err);
>          return;
>      }
> @@ -747,8 +739,7 @@ static void armsse_realize(DeviceState *dev, Error **errp)
>                               &error_abort);
>  
>      qdev_prop_set_uint32(DEVICE(&s->timer1), "pclk-frq", s->mainclk_frq);
> -    sysbus_realize(SYS_BUS_DEVICE(&s->timer1), &err);
> -    if (err) {
> +    if (!sysbus_realize(SYS_BUS_DEVICE(&s->timer1), &err)) {
>          error_propagate(errp, err);
>          return;
>      }
> @@ -759,8 +750,7 @@ static void armsse_realize(DeviceState *dev, Error **errp)
>                               &error_abort);
>  
>      qdev_prop_set_uint32(DEVICE(&s->dualtimer), "pclk-frq", s->mainclk_frq);
> -    sysbus_realize(SYS_BUS_DEVICE(&s->dualtimer), &err);
> -    if (err) {
> +    if (!sysbus_realize(SYS_BUS_DEVICE(&s->dualtimer), &err)) {
>          error_propagate(errp, err);
>          return;
>      }
> @@ -785,8 +775,7 @@ static void armsse_realize(DeviceState *dev, Error **errp)
>              int cpunum;
>              SysBusDevice *mhu_sbd = SYS_BUS_DEVICE(&s->mhu[i]);
>  
> -            sysbus_realize(SYS_BUS_DEVICE(&s->mhu[i]), &err);
> -            if (err) {
> +            if (!sysbus_realize(SYS_BUS_DEVICE(&s->mhu[i]), &err)) {
>                  error_propagate(errp, err);
>                  return;
>              }
> @@ -812,8 +801,7 @@ static void armsse_realize(DeviceState *dev, Error **errp)
>          }
>      }
>  
> -    sysbus_realize(SYS_BUS_DEVICE(&s->apb_ppc0), &err);
> -    if (err) {
> +    if (!sysbus_realize(SYS_BUS_DEVICE(&s->apb_ppc0), &err)) {
>          error_propagate(errp, err);
>          return;
>      }
> @@ -861,8 +849,7 @@ static void armsse_realize(DeviceState *dev, Error **errp)
>          error_propagate(errp, err);
>          return;
>      }
> -    qdev_realize(DEVICE(&s->ppc_irq_orgate), NULL, &err);
> -    if (err) {
> +    if (!qdev_realize(DEVICE(&s->ppc_irq_orgate), NULL, &err)) {
>          error_propagate(errp, err);
>          return;
>      }
> @@ -884,8 +871,7 @@ static void armsse_realize(DeviceState *dev, Error **errp)
>              qdev_prop_set_string(DEVICE(&s->cachectrl[i]), "name", name);
>              g_free(name);
>              qdev_prop_set_uint64(DEVICE(&s->cachectrl[i]), "size", 0x1000);
> -            sysbus_realize(SYS_BUS_DEVICE(&s->cachectrl[i]), &err);
> -            if (err) {
> +            if (!sysbus_realize(SYS_BUS_DEVICE(&s->cachectrl[i]), &err)) {
>                  error_propagate(errp, err);
>                  return;
>              }
> @@ -902,8 +888,7 @@ static void armsse_realize(DeviceState *dev, Error **errp)
>              qdev_prop_set_string(DEVICE(&s->cpusecctrl[i]), "name", name);
>              g_free(name);
>              qdev_prop_set_uint64(DEVICE(&s->cpusecctrl[i]), "size", 0x1000);
> -            sysbus_realize(SYS_BUS_DEVICE(&s->cpusecctrl[i]), &err);
> -            if (err) {
> +            if (!sysbus_realize(SYS_BUS_DEVICE(&s->cpusecctrl[i]), &err)) {
>                  error_propagate(errp, err);
>                  return;
>              }
> @@ -917,8 +902,7 @@ static void armsse_realize(DeviceState *dev, Error **errp)
>              MemoryRegion *mr;
>  
>              qdev_prop_set_uint32(DEVICE(&s->cpuid[i]), "CPUID", i);
> -            sysbus_realize(SYS_BUS_DEVICE(&s->cpuid[i]), &err);
> -            if (err) {
> +            if (!sysbus_realize(SYS_BUS_DEVICE(&s->cpuid[i]), &err)) {
>                  error_propagate(errp, err);
>                  return;
>              }
> @@ -933,8 +917,7 @@ static void armsse_realize(DeviceState *dev, Error **errp)
>       *   0x4002f000: S32K timer
>       */
>      qdev_prop_set_uint32(DEVICE(&s->s32ktimer), "pclk-frq", S32KCLK);
> -    sysbus_realize(SYS_BUS_DEVICE(&s->s32ktimer), &err);
> -    if (err) {
> +    if (!sysbus_realize(SYS_BUS_DEVICE(&s->s32ktimer), &err)) {
>          error_propagate(errp, err);
>          return;
>      }
> @@ -944,8 +927,7 @@ static void armsse_realize(DeviceState *dev, Error **errp)
>      object_property_set_link(OBJECT(&s->apb_ppc1), OBJECT(mr), "port[0]",
>                               &error_abort);
>  
> -    sysbus_realize(SYS_BUS_DEVICE(&s->apb_ppc1), &err);
> -    if (err) {
> +    if (!sysbus_realize(SYS_BUS_DEVICE(&s->apb_ppc1), &err)) {
>          error_propagate(errp, err);
>          return;
>      }
> @@ -982,8 +964,7 @@ static void armsse_realize(DeviceState *dev, Error **errp)
>          error_propagate(errp, err);
>          return;
>      }
> -    sysbus_realize(SYS_BUS_DEVICE(&s->sysinfo), &err);
> -    if (err) {
> +    if (!sysbus_realize(SYS_BUS_DEVICE(&s->sysinfo), &err)) {
>          error_propagate(errp, err);
>          return;
>      }
> @@ -998,8 +979,7 @@ static void armsse_realize(DeviceState *dev, Error **errp)
>                              "INITSVTOR0_RST", &error_abort);
>      object_property_set_int(OBJECT(&s->sysctl), s->init_svtor,
>                              "INITSVTOR1_RST", &error_abort);
> -    sysbus_realize(SYS_BUS_DEVICE(&s->sysctl), &err);
> -    if (err) {
> +    if (!sysbus_realize(SYS_BUS_DEVICE(&s->sysctl), &err)) {
>          error_propagate(errp, err);
>          return;
>      }
> @@ -1033,8 +1013,7 @@ static void armsse_realize(DeviceState *dev, Error **errp)
>          error_propagate(errp, err);
>          return;
>      }
> -    qdev_realize(DEVICE(&s->nmi_orgate), NULL, &err);
> -    if (err) {
> +    if (!qdev_realize(DEVICE(&s->nmi_orgate), NULL, &err)) {
>          error_propagate(errp, err);
>          return;
>      }
> @@ -1042,8 +1021,7 @@ static void armsse_realize(DeviceState *dev, Error **errp)
>                            qdev_get_gpio_in_named(DEVICE(&s->armv7m), "NMI", 0));
>  
>      qdev_prop_set_uint32(DEVICE(&s->s32kwatchdog), "wdogclk-frq", S32KCLK);
> -    sysbus_realize(SYS_BUS_DEVICE(&s->s32kwatchdog), &err);
> -    if (err) {
> +    if (!sysbus_realize(SYS_BUS_DEVICE(&s->s32kwatchdog), &err)) {
>          error_propagate(errp, err);
>          return;
>      }
> @@ -1054,8 +1032,7 @@ static void armsse_realize(DeviceState *dev, Error **errp)
>      /* 0x40080000 .. 0x4008ffff : ARMSSE second Base peripheral region */
>  
>      qdev_prop_set_uint32(DEVICE(&s->nswatchdog), "wdogclk-frq", s->mainclk_frq);
> -    sysbus_realize(SYS_BUS_DEVICE(&s->nswatchdog), &err);
> -    if (err) {
> +    if (!sysbus_realize(SYS_BUS_DEVICE(&s->nswatchdog), &err)) {
>          error_propagate(errp, err);
>          return;
>      }
> @@ -1064,8 +1041,7 @@ static void armsse_realize(DeviceState *dev, Error **errp)
>      sysbus_mmio_map(SYS_BUS_DEVICE(&s->nswatchdog), 0, 0x40081000);
>  
>      qdev_prop_set_uint32(DEVICE(&s->swatchdog), "wdogclk-frq", s->mainclk_frq);
> -    sysbus_realize(SYS_BUS_DEVICE(&s->swatchdog), &err);
> -    if (err) {
> +    if (!sysbus_realize(SYS_BUS_DEVICE(&s->swatchdog), &err)) {
>          error_propagate(errp, err);
>          return;
>      }
> @@ -1081,8 +1057,7 @@ static void armsse_realize(DeviceState *dev, Error **errp)
>              error_propagate(errp, err);
>              return;
>          }
> -        qdev_realize(DEVICE(splitter), NULL, &err);
> -        if (err) {
> +        if (!qdev_realize(DEVICE(splitter), NULL, &err)) {
>              error_propagate(errp, err);
>              return;
>          }
> @@ -1128,8 +1103,7 @@ static void armsse_realize(DeviceState *dev, Error **errp)
>              error_propagate(errp, err);
>              return;
>          }
> -        qdev_realize(DEVICE(splitter), NULL, &err);
> -        if (err) {
> +        if (!qdev_realize(DEVICE(splitter), NULL, &err)) {
>              error_propagate(errp, err);
>              return;
>          }
> diff --git a/hw/arm/armv7m.c b/hw/arm/armv7m.c
> index 3308211e9c..28baf330e5 100644
> --- a/hw/arm/armv7m.c
> +++ b/hw/arm/armv7m.c
> @@ -213,15 +213,13 @@ static void armv7m_realize(DeviceState *dev, Error **errp)
>      s->cpu->env.nvic = &s->nvic;
>      s->nvic.cpu = s->cpu;
>  
> -    qdev_realize(DEVICE(s->cpu), NULL, &err);
> -    if (err != NULL) {
> +    if (!qdev_realize(DEVICE(s->cpu), NULL, &err)) {
>          error_propagate(errp, err);
>          return;
>      }
>  
>      /* Note that we must realize the NVIC after the CPU */
> -    sysbus_realize(SYS_BUS_DEVICE(&s->nvic), &err);
> -    if (err != NULL) {
> +    if (!sysbus_realize(SYS_BUS_DEVICE(&s->nvic), &err)) {
>          error_propagate(errp, err);
>          return;
>      }
> @@ -254,8 +252,7 @@ static void armv7m_realize(DeviceState *dev, Error **errp)
>              }
>              object_property_set_link(obj, OBJECT(s->board_memory),
>                                       "source-memory", &error_abort);
> -            sysbus_realize(SYS_BUS_DEVICE(obj), &err);
> -            if (err != NULL) {
> +            if (!sysbus_realize(SYS_BUS_DEVICE(obj), &err)) {
>                  error_propagate(errp, err);
>                  return;
>              }
> diff --git a/hw/arm/aspeed_ast2600.c b/hw/arm/aspeed_ast2600.c
> index 59a7a1370b..b9ae4c12b4 100644
> --- a/hw/arm/aspeed_ast2600.c
> +++ b/hw/arm/aspeed_ast2600.c
> @@ -259,8 +259,7 @@ static void aspeed_soc_ast2600_realize(DeviceState *dev, Error **errp)
>           * is needed when using -kernel
>           */
>  
> -        qdev_realize(DEVICE(&s->cpu[i]), NULL, &err);
> -        if (err) {
> +        if (!qdev_realize(DEVICE(&s->cpu[i]), NULL, &err)) {
>              error_propagate(errp, err);
>              return;
>          }
> @@ -301,16 +300,14 @@ static void aspeed_soc_ast2600_realize(DeviceState *dev, Error **errp)
>                                  sc->memmap[ASPEED_SRAM], &s->sram);
>  
>      /* SCU */
> -    sysbus_realize(SYS_BUS_DEVICE(&s->scu), &err);
> -    if (err) {
> +    if (!sysbus_realize(SYS_BUS_DEVICE(&s->scu), &err)) {
>          error_propagate(errp, err);
>          return;
>      }
>      sysbus_mmio_map(SYS_BUS_DEVICE(&s->scu), 0, sc->memmap[ASPEED_SCU]);
>  
>      /* RTC */
> -    sysbus_realize(SYS_BUS_DEVICE(&s->rtc), &err);
> -    if (err) {
> +    if (!sysbus_realize(SYS_BUS_DEVICE(&s->rtc), &err)) {
>          error_propagate(errp, err);
>          return;
>      }
> @@ -321,8 +318,7 @@ static void aspeed_soc_ast2600_realize(DeviceState *dev, Error **errp)
>      /* Timer */
>      object_property_set_link(OBJECT(&s->timerctrl),
>                               OBJECT(&s->scu), "scu", &error_abort);
> -    sysbus_realize(SYS_BUS_DEVICE(&s->timerctrl), &err);
> -    if (err) {
> +    if (!sysbus_realize(SYS_BUS_DEVICE(&s->timerctrl), &err)) {
>          error_propagate(errp, err);
>          return;
>      }
> @@ -343,8 +339,7 @@ static void aspeed_soc_ast2600_realize(DeviceState *dev, Error **errp)
>      /* I2C */
>      object_property_set_link(OBJECT(&s->i2c), OBJECT(s->dram_mr), "dram",
>                               &error_abort);
> -    sysbus_realize(SYS_BUS_DEVICE(&s->i2c), &err);
> -    if (err) {
> +    if (!sysbus_realize(SYS_BUS_DEVICE(&s->i2c), &err)) {
>          error_propagate(errp, err);
>          return;
>      }
> @@ -368,8 +363,7 @@ static void aspeed_soc_ast2600_realize(DeviceState *dev, Error **errp)
>          error_propagate(errp, err);
>          return;
>      }
> -    sysbus_realize(SYS_BUS_DEVICE(&s->fmc), &err);
> -    if (err) {
> +    if (!sysbus_realize(SYS_BUS_DEVICE(&s->fmc), &err)) {
>          error_propagate(errp, err);
>          return;
>      }
> @@ -385,8 +379,7 @@ static void aspeed_soc_ast2600_realize(DeviceState *dev, Error **errp)
>                                   "dram", &error_abort);
>          object_property_set_int(OBJECT(&s->spi[i]), 1, "num-cs",
>                                  &error_abort);
> -        sysbus_realize(SYS_BUS_DEVICE(&s->spi[i]), &err);
> -        if (err) {
> +        if (!sysbus_realize(SYS_BUS_DEVICE(&s->spi[i]), &err)) {
>              error_propagate(errp, err);
>              return;
>          }
> @@ -398,8 +391,7 @@ static void aspeed_soc_ast2600_realize(DeviceState *dev, Error **errp)
>  
>      /* EHCI */
>      for (i = 0; i < sc->ehcis_num; i++) {
> -        sysbus_realize(SYS_BUS_DEVICE(&s->ehci[i]), &err);
> -        if (err) {
> +        if (!sysbus_realize(SYS_BUS_DEVICE(&s->ehci[i]), &err)) {
>              error_propagate(errp, err);
>              return;
>          }
> @@ -410,8 +402,7 @@ static void aspeed_soc_ast2600_realize(DeviceState *dev, Error **errp)
>      }
>  
>      /* SDMC - SDRAM Memory Controller */
> -    sysbus_realize(SYS_BUS_DEVICE(&s->sdmc), &err);
> -    if (err) {
> +    if (!sysbus_realize(SYS_BUS_DEVICE(&s->sdmc), &err)) {
>          error_propagate(errp, err);
>          return;
>      }
> @@ -423,8 +414,7 @@ static void aspeed_soc_ast2600_realize(DeviceState *dev, Error **errp)
>  
>          object_property_set_link(OBJECT(&s->wdt[i]),
>                                   OBJECT(&s->scu), "scu", &error_abort);
> -        sysbus_realize(SYS_BUS_DEVICE(&s->wdt[i]), &err);
> -        if (err) {
> +        if (!sysbus_realize(SYS_BUS_DEVICE(&s->wdt[i]), &err)) {
>              error_propagate(errp, err);
>              return;
>          }
> @@ -436,8 +426,7 @@ static void aspeed_soc_ast2600_realize(DeviceState *dev, Error **errp)
>      for (i = 0; i < sc->macs_num; i++) {
>          object_property_set_bool(OBJECT(&s->ftgmac100[i]), true, "aspeed",
>                                   &error_abort);
> -        sysbus_realize(SYS_BUS_DEVICE(&s->ftgmac100[i]), &err);
> -        if (err) {
> +        if (!sysbus_realize(SYS_BUS_DEVICE(&s->ftgmac100[i]), &err)) {
>              error_propagate(errp, err);
>              return;
>          }
> @@ -448,8 +437,7 @@ static void aspeed_soc_ast2600_realize(DeviceState *dev, Error **errp)
>  
>          object_property_set_link(OBJECT(&s->mii[i]), OBJECT(&s->ftgmac100[i]),
>                                   "nic", &error_abort);
> -        sysbus_realize(SYS_BUS_DEVICE(&s->mii[i]), &err);
> -        if (err) {
> +        if (!sysbus_realize(SYS_BUS_DEVICE(&s->mii[i]), &err)) {
>              error_propagate(errp, err);
>              return;
>          }
> @@ -459,8 +447,7 @@ static void aspeed_soc_ast2600_realize(DeviceState *dev, Error **errp)
>      }
>  
>      /* XDMA */
> -    sysbus_realize(SYS_BUS_DEVICE(&s->xdma), &err);
> -    if (err) {
> +    if (!sysbus_realize(SYS_BUS_DEVICE(&s->xdma), &err)) {
>          error_propagate(errp, err);
>          return;
>      }
> @@ -470,8 +457,7 @@ static void aspeed_soc_ast2600_realize(DeviceState *dev, Error **errp)
>                         aspeed_soc_get_irq(s, ASPEED_XDMA));
>  
>      /* GPIO */
> -    sysbus_realize(SYS_BUS_DEVICE(&s->gpio), &err);
> -    if (err) {
> +    if (!sysbus_realize(SYS_BUS_DEVICE(&s->gpio), &err)) {
>          error_propagate(errp, err);
>          return;
>      }
> @@ -479,8 +465,7 @@ static void aspeed_soc_ast2600_realize(DeviceState *dev, Error **errp)
>      sysbus_connect_irq(SYS_BUS_DEVICE(&s->gpio), 0,
>                         aspeed_soc_get_irq(s, ASPEED_GPIO));
>  
> -    sysbus_realize(SYS_BUS_DEVICE(&s->gpio_1_8v), &err);
> -    if (err) {
> +    if (!sysbus_realize(SYS_BUS_DEVICE(&s->gpio_1_8v), &err)) {
>          error_propagate(errp, err);
>          return;
>      }
> @@ -490,8 +475,7 @@ static void aspeed_soc_ast2600_realize(DeviceState *dev, Error **errp)
>                         aspeed_soc_get_irq(s, ASPEED_GPIO_1_8V));
>  
>      /* SDHCI */
> -    sysbus_realize(SYS_BUS_DEVICE(&s->sdhci), &err);
> -    if (err) {
> +    if (!sysbus_realize(SYS_BUS_DEVICE(&s->sdhci), &err)) {
>          error_propagate(errp, err);
>          return;
>      }
> @@ -501,8 +485,7 @@ static void aspeed_soc_ast2600_realize(DeviceState *dev, Error **errp)
>                         aspeed_soc_get_irq(s, ASPEED_SDHCI));
>  
>      /* eMMC */
> -    sysbus_realize(SYS_BUS_DEVICE(&s->emmc), &err);
> -    if (err) {
> +    if (!sysbus_realize(SYS_BUS_DEVICE(&s->emmc), &err)) {
>          error_propagate(errp, err);
>          return;
>      }
> diff --git a/hw/arm/aspeed_soc.c b/hw/arm/aspeed_soc.c
> index 311458aa76..fa56f96f92 100644
> --- a/hw/arm/aspeed_soc.c
> +++ b/hw/arm/aspeed_soc.c
> @@ -230,8 +230,7 @@ static void aspeed_soc_realize(DeviceState *dev, Error **errp)
>  
>      /* CPU */
>      for (i = 0; i < sc->num_cpus; i++) {
> -        qdev_realize(DEVICE(&s->cpu[i]), NULL, &err);
> -        if (err) {
> +        if (!qdev_realize(DEVICE(&s->cpu[i]), NULL, &err)) {
>              error_propagate(errp, err);
>              return;
>          }
> @@ -248,16 +247,14 @@ static void aspeed_soc_realize(DeviceState *dev, Error **errp)
>                                  sc->memmap[ASPEED_SRAM], &s->sram);
>  
>      /* SCU */
> -    sysbus_realize(SYS_BUS_DEVICE(&s->scu), &err);
> -    if (err) {
> +    if (!sysbus_realize(SYS_BUS_DEVICE(&s->scu), &err)) {
>          error_propagate(errp, err);
>          return;
>      }
>      sysbus_mmio_map(SYS_BUS_DEVICE(&s->scu), 0, sc->memmap[ASPEED_SCU]);
>  
>      /* VIC */
> -    sysbus_realize(SYS_BUS_DEVICE(&s->vic), &err);
> -    if (err) {
> +    if (!sysbus_realize(SYS_BUS_DEVICE(&s->vic), &err)) {
>          error_propagate(errp, err);
>          return;
>      }
> @@ -268,8 +265,7 @@ static void aspeed_soc_realize(DeviceState *dev, Error **errp)
>                         qdev_get_gpio_in(DEVICE(&s->cpu), ARM_CPU_FIQ));
>  
>      /* RTC */
> -    sysbus_realize(SYS_BUS_DEVICE(&s->rtc), &err);
> -    if (err) {
> +    if (!sysbus_realize(SYS_BUS_DEVICE(&s->rtc), &err)) {
>          error_propagate(errp, err);
>          return;
>      }
> @@ -280,8 +276,7 @@ static void aspeed_soc_realize(DeviceState *dev, Error **errp)
>      /* Timer */
>      object_property_set_link(OBJECT(&s->timerctrl),
>                               OBJECT(&s->scu), "scu", &error_abort);
> -    sysbus_realize(SYS_BUS_DEVICE(&s->timerctrl), &err);
> -    if (err) {
> +    if (!sysbus_realize(SYS_BUS_DEVICE(&s->timerctrl), &err)) {
>          error_propagate(errp, err);
>          return;
>      }
> @@ -302,8 +297,7 @@ static void aspeed_soc_realize(DeviceState *dev, Error **errp)
>      /* I2C */
>      object_property_set_link(OBJECT(&s->i2c), OBJECT(s->dram_mr), "dram",
>                               &error_abort);
> -    sysbus_realize(SYS_BUS_DEVICE(&s->i2c), &err);
> -    if (err) {
> +    if (!sysbus_realize(SYS_BUS_DEVICE(&s->i2c), &err)) {
>          error_propagate(errp, err);
>          return;
>      }
> @@ -320,8 +314,7 @@ static void aspeed_soc_realize(DeviceState *dev, Error **errp)
>          error_propagate(errp, err);
>          return;
>      }
> -    sysbus_realize(SYS_BUS_DEVICE(&s->fmc), &err);
> -    if (err) {
> +    if (!sysbus_realize(SYS_BUS_DEVICE(&s->fmc), &err)) {
>          error_propagate(errp, err);
>          return;
>      }
> @@ -335,8 +328,7 @@ static void aspeed_soc_realize(DeviceState *dev, Error **errp)
>      for (i = 0; i < sc->spis_num; i++) {
>          object_property_set_int(OBJECT(&s->spi[i]), 1, "num-cs",
>                                  &error_abort);
> -        sysbus_realize(SYS_BUS_DEVICE(&s->spi[i]), &err);
> -        if (err) {
> +        if (!sysbus_realize(SYS_BUS_DEVICE(&s->spi[i]), &err)) {
>              error_propagate(errp, err);
>              return;
>          }
> @@ -348,8 +340,7 @@ static void aspeed_soc_realize(DeviceState *dev, Error **errp)
>  
>      /* EHCI */
>      for (i = 0; i < sc->ehcis_num; i++) {
> -        sysbus_realize(SYS_BUS_DEVICE(&s->ehci[i]), &err);
> -        if (err) {
> +        if (!sysbus_realize(SYS_BUS_DEVICE(&s->ehci[i]), &err)) {
>              error_propagate(errp, err);
>              return;
>          }
> @@ -360,8 +351,7 @@ static void aspeed_soc_realize(DeviceState *dev, Error **errp)
>      }
>  
>      /* SDMC - SDRAM Memory Controller */
> -    sysbus_realize(SYS_BUS_DEVICE(&s->sdmc), &err);
> -    if (err) {
> +    if (!sysbus_realize(SYS_BUS_DEVICE(&s->sdmc), &err)) {
>          error_propagate(errp, err);
>          return;
>      }
> @@ -373,8 +363,7 @@ static void aspeed_soc_realize(DeviceState *dev, Error **errp)
>  
>          object_property_set_link(OBJECT(&s->wdt[i]),
>                                   OBJECT(&s->scu), "scu", &error_abort);
> -        sysbus_realize(SYS_BUS_DEVICE(&s->wdt[i]), &err);
> -        if (err) {
> +        if (!sysbus_realize(SYS_BUS_DEVICE(&s->wdt[i]), &err)) {
>              error_propagate(errp, err);
>              return;
>          }
> @@ -386,8 +375,7 @@ static void aspeed_soc_realize(DeviceState *dev, Error **errp)
>      for (i = 0; i < sc->macs_num; i++) {
>          object_property_set_bool(OBJECT(&s->ftgmac100[i]), true, "aspeed",
>                                   &error_abort);
> -        sysbus_realize(SYS_BUS_DEVICE(&s->ftgmac100[i]), &err);
> -        if (err) {
> +        if (!sysbus_realize(SYS_BUS_DEVICE(&s->ftgmac100[i]), &err)) {
>              error_propagate(errp, err);
>              return;
>          }
> @@ -398,8 +386,7 @@ static void aspeed_soc_realize(DeviceState *dev, Error **errp)
>      }
>  
>      /* XDMA */
> -    sysbus_realize(SYS_BUS_DEVICE(&s->xdma), &err);
> -    if (err) {
> +    if (!sysbus_realize(SYS_BUS_DEVICE(&s->xdma), &err)) {
>          error_propagate(errp, err);
>          return;
>      }
> @@ -409,8 +396,7 @@ static void aspeed_soc_realize(DeviceState *dev, Error **errp)
>                         aspeed_soc_get_irq(s, ASPEED_XDMA));
>  
>      /* GPIO */
> -    sysbus_realize(SYS_BUS_DEVICE(&s->gpio), &err);
> -    if (err) {
> +    if (!sysbus_realize(SYS_BUS_DEVICE(&s->gpio), &err)) {
>          error_propagate(errp, err);
>          return;
>      }
> @@ -419,8 +405,7 @@ static void aspeed_soc_realize(DeviceState *dev, Error **errp)
>                         aspeed_soc_get_irq(s, ASPEED_GPIO));
>  
>      /* SDHCI */
> -    sysbus_realize(SYS_BUS_DEVICE(&s->sdhci), &err);
> -    if (err) {
> +    if (!sysbus_realize(SYS_BUS_DEVICE(&s->sdhci), &err)) {
>          error_propagate(errp, err);
>          return;
>      }
> diff --git a/hw/arm/bcm2835_peripherals.c b/hw/arm/bcm2835_peripherals.c
> index 7ffdf62067..2df81168e4 100644
> --- a/hw/arm/bcm2835_peripherals.c
> +++ b/hw/arm/bcm2835_peripherals.c
> @@ -161,8 +161,7 @@ static void bcm2835_peripherals_realize(DeviceState *dev, Error **errp)
>      }
>  
>      /* Interrupt Controller */
> -    sysbus_realize(SYS_BUS_DEVICE(&s->ic), &err);
> -    if (err) {
> +    if (!sysbus_realize(SYS_BUS_DEVICE(&s->ic), &err)) {
>          error_propagate(errp, err);
>          return;
>      }
> @@ -172,8 +171,7 @@ static void bcm2835_peripherals_realize(DeviceState *dev, Error **errp)
>      sysbus_pass_irq(SYS_BUS_DEVICE(s), SYS_BUS_DEVICE(&s->ic));
>  
>      /* Sys Timer */
> -    sysbus_realize(SYS_BUS_DEVICE(&s->systmr), &err);
> -    if (err) {
> +    if (!sysbus_realize(SYS_BUS_DEVICE(&s->systmr), &err)) {
>          error_propagate(errp, err);
>          return;
>      }
> @@ -185,8 +183,7 @@ static void bcm2835_peripherals_realize(DeviceState *dev, Error **errp)
>  
>      /* UART0 */
>      qdev_prop_set_chr(DEVICE(&s->uart0), "chardev", serial_hd(0));
> -    sysbus_realize(SYS_BUS_DEVICE(&s->uart0), &err);
> -    if (err) {
> +    if (!sysbus_realize(SYS_BUS_DEVICE(&s->uart0), &err)) {
>          error_propagate(errp, err);
>          return;
>      }
> @@ -200,8 +197,7 @@ static void bcm2835_peripherals_realize(DeviceState *dev, Error **errp)
>      /* AUX / UART1 */
>      qdev_prop_set_chr(DEVICE(&s->aux), "chardev", serial_hd(1));
>  
> -    sysbus_realize(SYS_BUS_DEVICE(&s->aux), &err);
> -    if (err) {
> +    if (!sysbus_realize(SYS_BUS_DEVICE(&s->aux), &err)) {
>          error_propagate(errp, err);
>          return;
>      }
> @@ -213,8 +209,7 @@ static void bcm2835_peripherals_realize(DeviceState *dev, Error **errp)
>                                 INTERRUPT_AUX));
>  
>      /* Mailboxes */
> -    sysbus_realize(SYS_BUS_DEVICE(&s->mboxes), &err);
> -    if (err) {
> +    if (!sysbus_realize(SYS_BUS_DEVICE(&s->mboxes), &err)) {
>          error_propagate(errp, err);
>          return;
>      }
> @@ -239,8 +234,7 @@ static void bcm2835_peripherals_realize(DeviceState *dev, Error **errp)
>          return;
>      }
>  
> -    sysbus_realize(SYS_BUS_DEVICE(&s->fb), &err);
> -    if (err) {
> +    if (!sysbus_realize(SYS_BUS_DEVICE(&s->fb), &err)) {
>          error_propagate(errp, err);
>          return;
>      }
> @@ -251,8 +245,7 @@ static void bcm2835_peripherals_realize(DeviceState *dev, Error **errp)
>                         qdev_get_gpio_in(DEVICE(&s->mboxes), MBOX_CHAN_FB));
>  
>      /* Property channel */
> -    sysbus_realize(SYS_BUS_DEVICE(&s->property), &err);
> -    if (err) {
> +    if (!sysbus_realize(SYS_BUS_DEVICE(&s->property), &err)) {
>          error_propagate(errp, err);
>          return;
>      }
> @@ -264,8 +257,7 @@ static void bcm2835_peripherals_realize(DeviceState *dev, Error **errp)
>                        qdev_get_gpio_in(DEVICE(&s->mboxes), MBOX_CHAN_PROPERTY));
>  
>      /* Random Number Generator */
> -    sysbus_realize(SYS_BUS_DEVICE(&s->rng), &err);
> -    if (err) {
> +    if (!sysbus_realize(SYS_BUS_DEVICE(&s->rng), &err)) {
>          error_propagate(errp, err);
>          return;
>      }
> @@ -289,8 +281,7 @@ static void bcm2835_peripherals_realize(DeviceState *dev, Error **errp)
>                               &error_abort);
>      object_property_set_bool(OBJECT(&s->sdhci), true, "pending-insert-quirk",
>                               &error_abort);
> -    sysbus_realize(SYS_BUS_DEVICE(&s->sdhci), &err);
> -    if (err) {
> +    if (!sysbus_realize(SYS_BUS_DEVICE(&s->sdhci), &err)) {
>          error_propagate(errp, err);
>          return;
>      }
> @@ -302,8 +293,7 @@ static void bcm2835_peripherals_realize(DeviceState *dev, Error **errp)
>                                 INTERRUPT_ARASANSDIO));
>  
>      /* SDHOST */
> -    sysbus_realize(SYS_BUS_DEVICE(&s->sdhost), &err);
> -    if (err) {
> +    if (!sysbus_realize(SYS_BUS_DEVICE(&s->sdhost), &err)) {
>          error_propagate(errp, err);
>          return;
>      }
> @@ -315,8 +305,7 @@ static void bcm2835_peripherals_realize(DeviceState *dev, Error **errp)
>                                 INTERRUPT_SDIO));
>  
>      /* DMA Channels */
> -    sysbus_realize(SYS_BUS_DEVICE(&s->dma), &err);
> -    if (err) {
> +    if (!sysbus_realize(SYS_BUS_DEVICE(&s->dma), &err)) {
>          error_propagate(errp, err);
>          return;
>      }
> @@ -334,8 +323,7 @@ static void bcm2835_peripherals_realize(DeviceState *dev, Error **errp)
>      }
>  
>      /* THERMAL */
> -    sysbus_realize(SYS_BUS_DEVICE(&s->thermal), &err);
> -    if (err) {
> +    if (!sysbus_realize(SYS_BUS_DEVICE(&s->thermal), &err)) {
>          error_propagate(errp, err);
>          return;
>      }
> @@ -343,8 +331,7 @@ static void bcm2835_peripherals_realize(DeviceState *dev, Error **errp)
>                  sysbus_mmio_get_region(SYS_BUS_DEVICE(&s->thermal), 0));
>  
>      /* GPIO */
> -    sysbus_realize(SYS_BUS_DEVICE(&s->gpio), &err);
> -    if (err) {
> +    if (!sysbus_realize(SYS_BUS_DEVICE(&s->gpio), &err)) {
>          error_propagate(errp, err);
>          return;
>      }
> @@ -355,8 +342,7 @@ static void bcm2835_peripherals_realize(DeviceState *dev, Error **errp)
>      object_property_add_alias(OBJECT(s), "sd-bus", OBJECT(&s->gpio), "sd-bus");
>  
>      /* Mphi */
> -    sysbus_realize(SYS_BUS_DEVICE(&s->mphi), &err);
> -    if (err) {
> +    if (!sysbus_realize(SYS_BUS_DEVICE(&s->mphi), &err)) {
>          error_propagate(errp, err);
>          return;
>      }
> @@ -368,8 +354,7 @@ static void bcm2835_peripherals_realize(DeviceState *dev, Error **errp)
>                                 INTERRUPT_HOSTPORT));
>  
>      /* DWC2 */
> -    sysbus_realize(SYS_BUS_DEVICE(&s->dwc2), &err);
> -    if (err) {
> +    if (!sysbus_realize(SYS_BUS_DEVICE(&s->dwc2), &err)) {
>          error_propagate(errp, err);
>          return;
>      }
> diff --git a/hw/arm/bcm2836.c b/hw/arm/bcm2836.c
> index ed1793f7b7..1a7560ef30 100644
> --- a/hw/arm/bcm2836.c
> +++ b/hw/arm/bcm2836.c
> @@ -86,8 +86,7 @@ static void bcm2836_realize(DeviceState *dev, Error **errp)
>  
>      object_property_add_const_link(OBJECT(&s->peripherals), "ram", obj);
>  
> -    sysbus_realize(SYS_BUS_DEVICE(&s->peripherals), &err);
> -    if (err) {
> +    if (!sysbus_realize(SYS_BUS_DEVICE(&s->peripherals), &err)) {
>          error_propagate(errp, err);
>          return;
>      }
> @@ -99,8 +98,7 @@ static void bcm2836_realize(DeviceState *dev, Error **errp)
>                              info->peri_base, 1);
>  
>      /* bcm2836 interrupt controller (and mailboxes, etc.) */
> -    sysbus_realize(SYS_BUS_DEVICE(&s->control), &err);
> -    if (err) {
> +    if (!sysbus_realize(SYS_BUS_DEVICE(&s->control), &err)) {
>          error_propagate(errp, err);
>          return;
>      }
> @@ -133,8 +131,7 @@ static void bcm2836_realize(DeviceState *dev, Error **errp)
>              return;
>          }
>  
> -        qdev_realize(DEVICE(&s->cpu[n].core), NULL, &err);
> -        if (err) {
> +        if (!qdev_realize(DEVICE(&s->cpu[n].core), NULL, &err)) {
>              error_propagate(errp, err);
>              return;
>          }
> diff --git a/hw/arm/cubieboard.c b/hw/arm/cubieboard.c
> index 5cbd115c53..c720e24ced 100644
> --- a/hw/arm/cubieboard.c
> +++ b/hw/arm/cubieboard.c
> @@ -80,8 +80,7 @@ static void cubieboard_init(MachineState *machine)
>          exit(1);
>      }
>  
> -    qdev_realize(DEVICE(a10), NULL, &err);
> -    if (err != NULL) {
> +    if (!qdev_realize(DEVICE(a10), NULL, &err)) {
>          error_reportf_err(err, "Couldn't realize Allwinner A10: ");
>          exit(1);
>      }
> diff --git a/hw/arm/digic.c b/hw/arm/digic.c
> index 13a83f7430..1494c2900a 100644
> --- a/hw/arm/digic.c
> +++ b/hw/arm/digic.c
> @@ -62,15 +62,13 @@ static void digic_realize(DeviceState *dev, Error **errp)
>          return;
>      }
>  
> -    qdev_realize(DEVICE(&s->cpu), NULL, &err);
> -    if (err != NULL) {
> +    if (!qdev_realize(DEVICE(&s->cpu), NULL, &err)) {
>          error_propagate(errp, err);
>          return;
>      }
>  
>      for (i = 0; i < DIGIC4_NB_TIMERS; i++) {
> -        sysbus_realize(SYS_BUS_DEVICE(&s->timer[i]), &err);
> -        if (err != NULL) {
> +        if (!sysbus_realize(SYS_BUS_DEVICE(&s->timer[i]), &err)) {
>              error_propagate(errp, err);
>              return;
>          }
> @@ -80,8 +78,7 @@ static void digic_realize(DeviceState *dev, Error **errp)
>      }
>  
>      qdev_prop_set_chr(DEVICE(&s->uart), "chardev", serial_hd(0));
> -    sysbus_realize(SYS_BUS_DEVICE(&s->uart), &err);
> -    if (err != NULL) {
> +    if (!sysbus_realize(SYS_BUS_DEVICE(&s->uart), &err)) {
>          error_propagate(errp, err);
>          return;
>      }
> diff --git a/hw/arm/digic_boards.c b/hw/arm/digic_boards.c
> index b6452d918c..d5524d3e72 100644
> --- a/hw/arm/digic_boards.c
> +++ b/hw/arm/digic_boards.c
> @@ -62,8 +62,7 @@ static void digic4_board_init(MachineState *machine, DigicBoard *board)
>          exit(EXIT_FAILURE);
>      }
>  
> -    qdev_realize(DEVICE(s), NULL, &err);
> -    if (err != NULL) {
> +    if (!qdev_realize(DEVICE(s), NULL, &err)) {
>          error_reportf_err(err, "Couldn't realize DIGIC SoC: ");
>          exit(1);
>      }
> diff --git a/hw/arm/fsl-imx25.c b/hw/arm/fsl-imx25.c
> index 7ab5c98fbe..250681f045 100644
> --- a/hw/arm/fsl-imx25.c
> +++ b/hw/arm/fsl-imx25.c
> @@ -85,14 +85,12 @@ static void fsl_imx25_realize(DeviceState *dev, Error **errp)
>      uint8_t i;
>      Error *err = NULL;
>  
> -    qdev_realize(DEVICE(&s->cpu), NULL, &err);
> -    if (err) {
> +    if (!qdev_realize(DEVICE(&s->cpu), NULL, &err)) {
>          error_propagate(errp, err);
>          return;
>      }
>  
> -    sysbus_realize(SYS_BUS_DEVICE(&s->avic), &err);
> -    if (err) {
> +    if (!sysbus_realize(SYS_BUS_DEVICE(&s->avic), &err)) {
>          error_propagate(errp, err);
>          return;
>      }
> @@ -102,8 +100,7 @@ static void fsl_imx25_realize(DeviceState *dev, Error **errp)
>      sysbus_connect_irq(SYS_BUS_DEVICE(&s->avic), 1,
>                         qdev_get_gpio_in(DEVICE(&s->cpu), ARM_CPU_FIQ));
>  
> -    sysbus_realize(SYS_BUS_DEVICE(&s->ccm), &err);
> -    if (err) {
> +    if (!sysbus_realize(SYS_BUS_DEVICE(&s->ccm), &err)) {
>          error_propagate(errp, err);
>          return;
>      }
> @@ -124,8 +121,7 @@ static void fsl_imx25_realize(DeviceState *dev, Error **errp)
>  
>          qdev_prop_set_chr(DEVICE(&s->uart[i]), "chardev", serial_hd(i));
>  
> -        sysbus_realize(SYS_BUS_DEVICE(&s->uart[i]), &err);
> -        if (err) {
> +        if (!sysbus_realize(SYS_BUS_DEVICE(&s->uart[i]), &err)) {
>              error_propagate(errp, err);
>              return;
>          }
> @@ -149,8 +145,7 @@ static void fsl_imx25_realize(DeviceState *dev, Error **errp)
>  
>          s->gpt[i].ccm = IMX_CCM(&s->ccm);
>  
> -        sysbus_realize(SYS_BUS_DEVICE(&s->gpt[i]), &err);
> -        if (err) {
> +        if (!sysbus_realize(SYS_BUS_DEVICE(&s->gpt[i]), &err)) {
>              error_propagate(errp, err);
>              return;
>          }
> @@ -172,8 +167,7 @@ static void fsl_imx25_realize(DeviceState *dev, Error **errp)
>  
>          s->epit[i].ccm = IMX_CCM(&s->ccm);
>  
> -        sysbus_realize(SYS_BUS_DEVICE(&s->epit[i]), &err);
> -        if (err) {
> +        if (!sysbus_realize(SYS_BUS_DEVICE(&s->epit[i]), &err)) {
>              error_propagate(errp, err);
>              return;
>          }
> @@ -185,8 +179,7 @@ static void fsl_imx25_realize(DeviceState *dev, Error **errp)
>  
>      qdev_set_nic_properties(DEVICE(&s->fec), &nd_table[0]);
>  
> -    sysbus_realize(SYS_BUS_DEVICE(&s->fec), &err);
> -    if (err) {
> +    if (!sysbus_realize(SYS_BUS_DEVICE(&s->fec), &err)) {
>          error_propagate(errp, err);
>          return;
>      }
> @@ -194,8 +187,7 @@ static void fsl_imx25_realize(DeviceState *dev, Error **errp)
>      sysbus_connect_irq(SYS_BUS_DEVICE(&s->fec), 0,
>                         qdev_get_gpio_in(DEVICE(&s->avic), FSL_IMX25_FEC_IRQ));
>  
> -    sysbus_realize(SYS_BUS_DEVICE(&s->rngc), &err);
> -    if (err) {
> +    if (!sysbus_realize(SYS_BUS_DEVICE(&s->rngc), &err)) {
>          error_propagate(errp, err);
>          return;
>      }
> @@ -214,8 +206,7 @@ static void fsl_imx25_realize(DeviceState *dev, Error **errp)
>              { FSL_IMX25_I2C3_ADDR, FSL_IMX25_I2C3_IRQ }
>          };
>  
> -        sysbus_realize(SYS_BUS_DEVICE(&s->i2c[i]), &err);
> -        if (err) {
> +        if (!sysbus_realize(SYS_BUS_DEVICE(&s->i2c[i]), &err)) {
>              error_propagate(errp, err);
>              return;
>          }
> @@ -237,8 +228,7 @@ static void fsl_imx25_realize(DeviceState *dev, Error **errp)
>              { FSL_IMX25_GPIO4_ADDR, FSL_IMX25_GPIO4_IRQ }
>          };
>  
> -        sysbus_realize(SYS_BUS_DEVICE(&s->gpio[i]), &err);
> -        if (err) {
> +        if (!sysbus_realize(SYS_BUS_DEVICE(&s->gpio[i]), &err)) {
>              error_propagate(errp, err);
>              return;
>          }
> @@ -267,8 +257,7 @@ static void fsl_imx25_realize(DeviceState *dev, Error **errp)
>          object_property_set_uint(OBJECT(&s->esdhc[i]), SDHCI_VENDOR_IMX,
>                                   "vendor",
>                                   &error_abort);
> -        sysbus_realize(SYS_BUS_DEVICE(&s->esdhc[i]), &err);
> -        if (err) {
> +        if (!sysbus_realize(SYS_BUS_DEVICE(&s->esdhc[i]), &err)) {
>              error_propagate(errp, err);
>              return;
>          }
> diff --git a/hw/arm/fsl-imx31.c b/hw/arm/fsl-imx31.c
> index 42cca529c3..4f007ea5e8 100644
> --- a/hw/arm/fsl-imx31.c
> +++ b/hw/arm/fsl-imx31.c
> @@ -66,14 +66,12 @@ static void fsl_imx31_realize(DeviceState *dev, Error **errp)
>      uint16_t i;
>      Error *err = NULL;
>  
> -    qdev_realize(DEVICE(&s->cpu), NULL, &err);
> -    if (err) {
> +    if (!qdev_realize(DEVICE(&s->cpu), NULL, &err)) {
>          error_propagate(errp, err);
>          return;
>      }
>  
> -    sysbus_realize(SYS_BUS_DEVICE(&s->avic), &err);
> -    if (err) {
> +    if (!sysbus_realize(SYS_BUS_DEVICE(&s->avic), &err)) {
>          error_propagate(errp, err);
>          return;
>      }
> @@ -83,8 +81,7 @@ static void fsl_imx31_realize(DeviceState *dev, Error **errp)
>      sysbus_connect_irq(SYS_BUS_DEVICE(&s->avic), 1,
>                         qdev_get_gpio_in(DEVICE(&s->cpu), ARM_CPU_FIQ));
>  
> -    sysbus_realize(SYS_BUS_DEVICE(&s->ccm), &err);
> -    if (err) {
> +    if (!sysbus_realize(SYS_BUS_DEVICE(&s->ccm), &err)) {
>          error_propagate(errp, err);
>          return;
>      }
> @@ -102,8 +99,7 @@ static void fsl_imx31_realize(DeviceState *dev, Error **errp)
>  
>          qdev_prop_set_chr(DEVICE(&s->uart[i]), "chardev", serial_hd(i));
>  
> -        sysbus_realize(SYS_BUS_DEVICE(&s->uart[i]), &err);
> -        if (err) {
> +        if (!sysbus_realize(SYS_BUS_DEVICE(&s->uart[i]), &err)) {
>              error_propagate(errp, err);
>              return;
>          }
> @@ -116,8 +112,7 @@ static void fsl_imx31_realize(DeviceState *dev, Error **errp)
>  
>      s->gpt.ccm = IMX_CCM(&s->ccm);
>  
> -    sysbus_realize(SYS_BUS_DEVICE(&s->gpt), &err);
> -    if (err) {
> +    if (!sysbus_realize(SYS_BUS_DEVICE(&s->gpt), &err)) {
>          error_propagate(errp, err);
>          return;
>      }
> @@ -138,8 +133,7 @@ static void fsl_imx31_realize(DeviceState *dev, Error **errp)
>  
>          s->epit[i].ccm = IMX_CCM(&s->ccm);
>  
> -        sysbus_realize(SYS_BUS_DEVICE(&s->epit[i]), &err);
> -        if (err) {
> +        if (!sysbus_realize(SYS_BUS_DEVICE(&s->epit[i]), &err)) {
>              error_propagate(errp, err);
>              return;
>          }
> @@ -162,8 +156,7 @@ static void fsl_imx31_realize(DeviceState *dev, Error **errp)
>          };
>  
>          /* Initialize the I2C */
> -        sysbus_realize(SYS_BUS_DEVICE(&s->i2c[i]), &err);
> -        if (err) {
> +        if (!sysbus_realize(SYS_BUS_DEVICE(&s->i2c[i]), &err)) {
>              error_propagate(errp, err);
>              return;
>          }
> @@ -188,8 +181,7 @@ static void fsl_imx31_realize(DeviceState *dev, Error **errp)
>  
>          object_property_set_bool(OBJECT(&s->gpio[i]), false, "has-edge-sel",
>                                   &error_abort);
> -        sysbus_realize(SYS_BUS_DEVICE(&s->gpio[i]), &err);
> -        if (err) {
> +        if (!sysbus_realize(SYS_BUS_DEVICE(&s->gpio[i]), &err)) {
>              error_propagate(errp, err);
>              return;
>          }
> diff --git a/hw/arm/fsl-imx6.c b/hw/arm/fsl-imx6.c
> index 4ae3c3efc2..417ca6889c 100644
> --- a/hw/arm/fsl-imx6.c
> +++ b/hw/arm/fsl-imx6.c
> @@ -130,8 +130,7 @@ static void fsl_imx6_realize(DeviceState *dev, Error **errp)
>                                       "start-powered-off", &error_abort);
>          }
>  
> -        qdev_realize(DEVICE(&s->cpu[i]), NULL, &err);
> -        if (err) {
> +        if (!qdev_realize(DEVICE(&s->cpu[i]), NULL, &err)) {
>              error_propagate(errp, err);
>              return;
>          }
> @@ -144,8 +143,7 @@ static void fsl_imx6_realize(DeviceState *dev, Error **errp)
>                              FSL_IMX6_MAX_IRQ + GIC_INTERNAL, "num-irq",
>                              &error_abort);
>  
> -    sysbus_realize(SYS_BUS_DEVICE(&s->a9mpcore), &err);
> -    if (err) {
> +    if (!sysbus_realize(SYS_BUS_DEVICE(&s->a9mpcore), &err)) {
>          error_propagate(errp, err);
>          return;
>      }
> @@ -158,15 +156,13 @@ static void fsl_imx6_realize(DeviceState *dev, Error **errp)
>                             qdev_get_gpio_in(DEVICE(&s->cpu[i]), ARM_CPU_FIQ));
>      }
>  
> -    sysbus_realize(SYS_BUS_DEVICE(&s->ccm), &err);
> -    if (err) {
> +    if (!sysbus_realize(SYS_BUS_DEVICE(&s->ccm), &err)) {
>          error_propagate(errp, err);
>          return;
>      }
>      sysbus_mmio_map(SYS_BUS_DEVICE(&s->ccm), 0, FSL_IMX6_CCM_ADDR);
>  
> -    sysbus_realize(SYS_BUS_DEVICE(&s->src), &err);
> -    if (err) {
> +    if (!sysbus_realize(SYS_BUS_DEVICE(&s->src), &err)) {
>          error_propagate(errp, err);
>          return;
>      }
> @@ -187,8 +183,7 @@ static void fsl_imx6_realize(DeviceState *dev, Error **errp)
>  
>          qdev_prop_set_chr(DEVICE(&s->uart[i]), "chardev", serial_hd(i));
>  
> -        sysbus_realize(SYS_BUS_DEVICE(&s->uart[i]), &err);
> -        if (err) {
> +        if (!sysbus_realize(SYS_BUS_DEVICE(&s->uart[i]), &err)) {
>              error_propagate(errp, err);
>              return;
>          }
> @@ -201,8 +196,7 @@ static void fsl_imx6_realize(DeviceState *dev, Error **errp)
>  
>      s->gpt.ccm = IMX_CCM(&s->ccm);
>  
> -    sysbus_realize(SYS_BUS_DEVICE(&s->gpt), &err);
> -    if (err) {
> +    if (!sysbus_realize(SYS_BUS_DEVICE(&s->gpt), &err)) {
>          error_propagate(errp, err);
>          return;
>      }
> @@ -224,8 +218,7 @@ static void fsl_imx6_realize(DeviceState *dev, Error **errp)
>  
>          s->epit[i].ccm = IMX_CCM(&s->ccm);
>  
> -        sysbus_realize(SYS_BUS_DEVICE(&s->epit[i]), &err);
> -        if (err) {
> +        if (!sysbus_realize(SYS_BUS_DEVICE(&s->epit[i]), &err)) {
>              error_propagate(errp, err);
>              return;
>          }
> @@ -247,8 +240,7 @@ static void fsl_imx6_realize(DeviceState *dev, Error **errp)
>              { FSL_IMX6_I2C3_ADDR, FSL_IMX6_I2C3_IRQ }
>          };
>  
> -        sysbus_realize(SYS_BUS_DEVICE(&s->i2c[i]), &err);
> -        if (err) {
> +        if (!sysbus_realize(SYS_BUS_DEVICE(&s->i2c[i]), &err)) {
>              error_propagate(errp, err);
>              return;
>          }
> @@ -307,8 +299,7 @@ static void fsl_imx6_realize(DeviceState *dev, Error **errp)
>                                   &error_abort);
>          object_property_set_bool(OBJECT(&s->gpio[i]), true, "has-upper-pin-irq",
>                                   &error_abort);
> -        sysbus_realize(SYS_BUS_DEVICE(&s->gpio[i]), &err);
> -        if (err) {
> +        if (!sysbus_realize(SYS_BUS_DEVICE(&s->gpio[i]), &err)) {
>              error_propagate(errp, err);
>              return;
>          }
> @@ -343,8 +334,7 @@ static void fsl_imx6_realize(DeviceState *dev, Error **errp)
>          object_property_set_uint(OBJECT(&s->esdhc[i]), SDHCI_VENDOR_IMX,
>                                   "vendor",
>                                   &error_abort);
> -        sysbus_realize(SYS_BUS_DEVICE(&s->esdhc[i]), &err);
> -        if (err) {
> +        if (!sysbus_realize(SYS_BUS_DEVICE(&s->esdhc[i]), &err)) {
>              error_propagate(errp, err);
>              return;
>          }
> @@ -390,8 +380,7 @@ static void fsl_imx6_realize(DeviceState *dev, Error **errp)
>          };
>  
>          /* Initialize the SPI */
> -        sysbus_realize(SYS_BUS_DEVICE(&s->spi[i]), &err);
> -        if (err) {
> +        if (!sysbus_realize(SYS_BUS_DEVICE(&s->spi[i]), &err)) {
>              error_propagate(errp, err);
>              return;
>          }
> @@ -403,8 +392,7 @@ static void fsl_imx6_realize(DeviceState *dev, Error **errp)
>      }
>  
>      qdev_set_nic_properties(DEVICE(&s->eth), &nd_table[0]);
> -    sysbus_realize(SYS_BUS_DEVICE(&s->eth), &err);
> -    if (err) {
> +    if (!sysbus_realize(SYS_BUS_DEVICE(&s->eth), &err)) {
>          error_propagate(errp, err);
>          return;
>      }
> diff --git a/hw/arm/msf2-soc.c b/hw/arm/msf2-soc.c
> index 3235c76194..476112b2d9 100644
> --- a/hw/arm/msf2-soc.c
> +++ b/hw/arm/msf2-soc.c
> @@ -125,8 +125,7 @@ static void m2sxxx_soc_realize(DeviceState *dev_soc, Error **errp)
>      qdev_prop_set_bit(armv7m, "enable-bitband", true);
>      object_property_set_link(OBJECT(&s->armv7m), OBJECT(get_system_memory()),
>                                       "memory", &error_abort);
> -    sysbus_realize(SYS_BUS_DEVICE(&s->armv7m), &err);
> -    if (err != NULL) {
> +    if (!sysbus_realize(SYS_BUS_DEVICE(&s->armv7m), &err)) {
>          error_propagate(errp, err);
>          return;
>      }
> @@ -153,8 +152,7 @@ static void m2sxxx_soc_realize(DeviceState *dev_soc, Error **errp)
>      dev = DEVICE(&s->timer);
>      /* APB0 clock is the timer input clock */
>      qdev_prop_set_uint32(dev, "clock-frequency", s->m3clk / s->apb0div);
> -    sysbus_realize(SYS_BUS_DEVICE(&s->timer), &err);
> -    if (err != NULL) {
> +    if (!sysbus_realize(SYS_BUS_DEVICE(&s->timer), &err)) {
>          error_propagate(errp, err);
>          return;
>      }
> @@ -168,8 +166,7 @@ static void m2sxxx_soc_realize(DeviceState *dev_soc, Error **errp)
>      dev = DEVICE(&s->sysreg);
>      qdev_prop_set_uint32(dev, "apb0divisor", s->apb0div);
>      qdev_prop_set_uint32(dev, "apb1divisor", s->apb1div);
> -    sysbus_realize(SYS_BUS_DEVICE(&s->sysreg), &err);
> -    if (err != NULL) {
> +    if (!sysbus_realize(SYS_BUS_DEVICE(&s->sysreg), &err)) {
>          error_propagate(errp, err);
>          return;
>      }
> @@ -179,8 +176,7 @@ static void m2sxxx_soc_realize(DeviceState *dev_soc, Error **errp)
>      for (i = 0; i < MSF2_NUM_SPIS; i++) {
>          gchar *bus_name;
>  
> -        sysbus_realize(SYS_BUS_DEVICE(&s->spi[i]), &err);
> -        if (err != NULL) {
> +        if (!sysbus_realize(SYS_BUS_DEVICE(&s->spi[i]), &err)) {
>              error_propagate(errp, err);
>              return;
>          }
> @@ -199,8 +195,7 @@ static void m2sxxx_soc_realize(DeviceState *dev_soc, Error **errp)
>      dev = DEVICE(&s->emac);
>      object_property_set_link(OBJECT(&s->emac), OBJECT(get_system_memory()),
>                               "ahb-bus", &error_abort);
> -    sysbus_realize(SYS_BUS_DEVICE(&s->emac), &err);
> -    if (err != NULL) {
> +    if (!sysbus_realize(SYS_BUS_DEVICE(&s->emac), &err)) {
>          error_propagate(errp, err);
>          return;
>      }
> diff --git a/hw/arm/nrf51_soc.c b/hw/arm/nrf51_soc.c
> index 20dd8b5897..e9c77e4c21 100644
> --- a/hw/arm/nrf51_soc.c
> +++ b/hw/arm/nrf51_soc.c
> @@ -67,8 +67,7 @@ static void nrf51_soc_realize(DeviceState *dev_soc, Error **errp)
>  
>      object_property_set_link(OBJECT(&s->cpu), OBJECT(&s->container), "memory",
>                               &error_abort);
> -    sysbus_realize(SYS_BUS_DEVICE(&s->cpu), &err);
> -    if (err) {
> +    if (!sysbus_realize(SYS_BUS_DEVICE(&s->cpu), &err)) {
>          error_propagate(errp, err);
>          return;
>      }
> @@ -84,8 +83,7 @@ static void nrf51_soc_realize(DeviceState *dev_soc, Error **errp)
>      memory_region_add_subregion(&s->container, NRF51_SRAM_BASE, &s->sram);
>  
>      /* UART */
> -    sysbus_realize(SYS_BUS_DEVICE(&s->uart), &err);
> -    if (err) {
> +    if (!sysbus_realize(SYS_BUS_DEVICE(&s->uart), &err)) {
>          error_propagate(errp, err);
>          return;
>      }
> @@ -96,8 +94,7 @@ static void nrf51_soc_realize(DeviceState *dev_soc, Error **errp)
>                         BASE_TO_IRQ(NRF51_UART_BASE)));
>  
>      /* RNG */
> -    sysbus_realize(SYS_BUS_DEVICE(&s->rng), &err);
> -    if (err) {
> +    if (!sysbus_realize(SYS_BUS_DEVICE(&s->rng), &err)) {
>          error_propagate(errp, err);
>          return;
>      }
> @@ -116,8 +113,7 @@ static void nrf51_soc_realize(DeviceState *dev_soc, Error **errp)
>          return;
>      }
>  
> -    sysbus_realize(SYS_BUS_DEVICE(&s->nvm), &err);
> -    if (err) {
> +    if (!sysbus_realize(SYS_BUS_DEVICE(&s->nvm), &err)) {
>          error_propagate(errp, err);
>          return;
>      }
> @@ -132,8 +128,7 @@ static void nrf51_soc_realize(DeviceState *dev_soc, Error **errp)
>      memory_region_add_subregion_overlap(&s->container, NRF51_FLASH_BASE, mr, 0);
>  
>      /* GPIO */
> -    sysbus_realize(SYS_BUS_DEVICE(&s->gpio), &err);
> -    if (err) {
> +    if (!sysbus_realize(SYS_BUS_DEVICE(&s->gpio), &err)) {
>          error_propagate(errp, err);
>          return;
>      }
> @@ -151,8 +146,7 @@ static void nrf51_soc_realize(DeviceState *dev_soc, Error **errp)
>              error_propagate(errp, err);
>              return;
>          }
> -        sysbus_realize(SYS_BUS_DEVICE(&s->timer[i]), &err);
> -        if (err) {
> +        if (!sysbus_realize(SYS_BUS_DEVICE(&s->timer[i]), &err)) {
>              error_propagate(errp, err);
>              return;
>          }
> diff --git a/hw/arm/stm32f205_soc.c b/hw/arm/stm32f205_soc.c
> index 56aef686c9..46b5332470 100644
> --- a/hw/arm/stm32f205_soc.c
> +++ b/hw/arm/stm32f205_soc.c
> @@ -107,16 +107,14 @@ static void stm32f205_soc_realize(DeviceState *dev_soc, Error **errp)
>      qdev_prop_set_bit(armv7m, "enable-bitband", true);
>      object_property_set_link(OBJECT(&s->armv7m), OBJECT(get_system_memory()),
>                                       "memory", &error_abort);
> -    sysbus_realize(SYS_BUS_DEVICE(&s->armv7m), &err);
> -    if (err != NULL) {
> +    if (!sysbus_realize(SYS_BUS_DEVICE(&s->armv7m), &err)) {
>          error_propagate(errp, err);
>          return;
>      }
>  
>      /* System configuration controller */
>      dev = DEVICE(&s->syscfg);
> -    sysbus_realize(SYS_BUS_DEVICE(&s->syscfg), &err);
> -    if (err != NULL) {
> +    if (!sysbus_realize(SYS_BUS_DEVICE(&s->syscfg), &err)) {
>          error_propagate(errp, err);
>          return;
>      }
> @@ -128,8 +126,7 @@ static void stm32f205_soc_realize(DeviceState *dev_soc, Error **errp)
>      for (i = 0; i < STM_NUM_USARTS; i++) {
>          dev = DEVICE(&(s->usart[i]));
>          qdev_prop_set_chr(dev, "chardev", serial_hd(i));
> -        sysbus_realize(SYS_BUS_DEVICE(&s->usart[i]), &err);
> -        if (err != NULL) {
> +        if (!sysbus_realize(SYS_BUS_DEVICE(&s->usart[i]), &err)) {
>              error_propagate(errp, err);
>              return;
>          }
> @@ -142,8 +139,7 @@ static void stm32f205_soc_realize(DeviceState *dev_soc, Error **errp)
>      for (i = 0; i < STM_NUM_TIMERS; i++) {
>          dev = DEVICE(&(s->timer[i]));
>          qdev_prop_set_uint64(dev, "clock-frequency", 1000000000);
> -        sysbus_realize(SYS_BUS_DEVICE(&s->timer[i]), &err);
> -        if (err != NULL) {
> +        if (!sysbus_realize(SYS_BUS_DEVICE(&s->timer[i]), &err)) {
>              error_propagate(errp, err);
>              return;
>          }
> @@ -155,8 +151,7 @@ static void stm32f205_soc_realize(DeviceState *dev_soc, Error **errp)
>      /* ADC 1 to 3 */
>      object_property_set_int(OBJECT(s->adc_irqs), STM_NUM_ADCS,
>                              "num-lines", &error_abort);
> -    qdev_realize(DEVICE(s->adc_irqs), NULL, &err);
> -    if (err != NULL) {
> +    if (!qdev_realize(DEVICE(s->adc_irqs), NULL, &err)) {
>          error_propagate(errp, err);
>          return;
>      }
> @@ -165,8 +160,7 @@ static void stm32f205_soc_realize(DeviceState *dev_soc, Error **errp)
>  
>      for (i = 0; i < STM_NUM_ADCS; i++) {
>          dev = DEVICE(&(s->adc[i]));
> -        sysbus_realize(SYS_BUS_DEVICE(&s->adc[i]), &err);
> -        if (err != NULL) {
> +        if (!sysbus_realize(SYS_BUS_DEVICE(&s->adc[i]), &err)) {
>              error_propagate(errp, err);
>              return;
>          }
> @@ -179,8 +173,7 @@ static void stm32f205_soc_realize(DeviceState *dev_soc, Error **errp)
>      /* SPI 1 and 2 */
>      for (i = 0; i < STM_NUM_SPIS; i++) {
>          dev = DEVICE(&(s->spi[i]));
> -        sysbus_realize(SYS_BUS_DEVICE(&s->spi[i]), &err);
> -        if (err != NULL) {
> +        if (!sysbus_realize(SYS_BUS_DEVICE(&s->spi[i]), &err)) {
>              error_propagate(errp, err);
>              return;
>          }
> diff --git a/hw/arm/stm32f405_soc.c b/hw/arm/stm32f405_soc.c
> index cf9228d8e7..f1f0dc40b1 100644
> --- a/hw/arm/stm32f405_soc.c
> +++ b/hw/arm/stm32f405_soc.c
> @@ -118,16 +118,14 @@ static void stm32f405_soc_realize(DeviceState *dev_soc, Error **errp)
>      qdev_prop_set_bit(armv7m, "enable-bitband", true);
>      object_property_set_link(OBJECT(&s->armv7m), OBJECT(system_memory),
>                                       "memory", &error_abort);
> -    sysbus_realize(SYS_BUS_DEVICE(&s->armv7m), &err);
> -    if (err != NULL) {
> +    if (!sysbus_realize(SYS_BUS_DEVICE(&s->armv7m), &err)) {
>          error_propagate(errp, err);
>          return;
>      }
>  
>      /* System configuration controller */
>      dev = DEVICE(&s->syscfg);
> -    sysbus_realize(SYS_BUS_DEVICE(&s->syscfg), &err);
> -    if (err != NULL) {
> +    if (!sysbus_realize(SYS_BUS_DEVICE(&s->syscfg), &err)) {
>          error_propagate(errp, err);
>          return;
>      }
> @@ -139,8 +137,7 @@ static void stm32f405_soc_realize(DeviceState *dev_soc, Error **errp)
>      for (i = 0; i < STM_NUM_USARTS; i++) {
>          dev = DEVICE(&(s->usart[i]));
>          qdev_prop_set_chr(dev, "chardev", serial_hd(i));
> -        sysbus_realize(SYS_BUS_DEVICE(&s->usart[i]), &err);
> -        if (err != NULL) {
> +        if (!sysbus_realize(SYS_BUS_DEVICE(&s->usart[i]), &err)) {
>              error_propagate(errp, err);
>              return;
>          }
> @@ -153,8 +150,7 @@ static void stm32f405_soc_realize(DeviceState *dev_soc, Error **errp)
>      for (i = 0; i < STM_NUM_TIMERS; i++) {
>          dev = DEVICE(&(s->timer[i]));
>          qdev_prop_set_uint64(dev, "clock-frequency", 1000000000);
> -        sysbus_realize(SYS_BUS_DEVICE(&s->timer[i]), &err);
> -        if (err != NULL) {
> +        if (!sysbus_realize(SYS_BUS_DEVICE(&s->timer[i]), &err)) {
>              error_propagate(errp, err);
>              return;
>          }
> @@ -173,8 +169,7 @@ static void stm32f405_soc_realize(DeviceState *dev_soc, Error **errp)
>      }
>      object_property_set_int(OBJECT(&s->adc_irqs), STM_NUM_ADCS,
>                              "num-lines", &error_abort);
> -    qdev_realize(DEVICE(&s->adc_irqs), NULL, &err);
> -    if (err != NULL) {
> +    if (!qdev_realize(DEVICE(&s->adc_irqs), NULL, &err)) {
>          error_propagate(errp, err);
>          return;
>      }
> @@ -183,8 +178,7 @@ static void stm32f405_soc_realize(DeviceState *dev_soc, Error **errp)
>  
>      for (i = 0; i < STM_NUM_ADCS; i++) {
>          dev = DEVICE(&(s->adc[i]));
> -        sysbus_realize(SYS_BUS_DEVICE(&s->adc[i]), &err);
> -        if (err != NULL) {
> +        if (!sysbus_realize(SYS_BUS_DEVICE(&s->adc[i]), &err)) {
>              error_propagate(errp, err);
>              return;
>          }
> @@ -197,8 +191,7 @@ static void stm32f405_soc_realize(DeviceState *dev_soc, Error **errp)
>      /* SPI devices */
>      for (i = 0; i < STM_NUM_SPIS; i++) {
>          dev = DEVICE(&(s->spi[i]));
> -        sysbus_realize(SYS_BUS_DEVICE(&s->spi[i]), &err);
> -        if (err != NULL) {
> +        if (!sysbus_realize(SYS_BUS_DEVICE(&s->spi[i]), &err)) {
>              error_propagate(errp, err);
>              return;
>          }
> @@ -209,8 +202,7 @@ static void stm32f405_soc_realize(DeviceState *dev_soc, Error **errp)
>  
>      /* EXTI device */
>      dev = DEVICE(&s->exti);
> -    sysbus_realize(SYS_BUS_DEVICE(&s->exti), &err);
> -    if (err != NULL) {
> +    if (!sysbus_realize(SYS_BUS_DEVICE(&s->exti), &err)) {
>          error_propagate(errp, err);
>          return;
>      }
> diff --git a/hw/arm/xlnx-zynqmp.c b/hw/arm/xlnx-zynqmp.c
> index 1de9d4a89d..d703158f8b 100644
> --- a/hw/arm/xlnx-zynqmp.c
> +++ b/hw/arm/xlnx-zynqmp.c
> @@ -209,8 +209,7 @@ static void xlnx_zynqmp_create_rpu(MachineState *ms, XlnxZynqMPState *s,
>  
>          object_property_set_bool(OBJECT(&s->rpu_cpu[i]), true, "reset-hivecs",
>                                   &error_abort);
> -        qdev_realize(DEVICE(&s->rpu_cpu[i]), NULL, &err);
> -        if (err) {
> +        if (!qdev_realize(DEVICE(&s->rpu_cpu[i]), NULL, &err)) {
>              error_propagate(errp, err);
>              return;
>          }
> @@ -367,15 +366,13 @@ static void xlnx_zynqmp_realize(DeviceState *dev, Error **errp)
>                                  "reset-cbar", &error_abort);
>          object_property_set_int(OBJECT(&s->apu_cpu[i]), num_apus,
>                                  "core-count", &error_abort);
> -        qdev_realize(DEVICE(&s->apu_cpu[i]), NULL, &err);
> -        if (err) {
> +        if (!qdev_realize(DEVICE(&s->apu_cpu[i]), NULL, &err)) {
>              error_propagate(errp, err);
>              return;
>          }
>      }
>  
> -    sysbus_realize(SYS_BUS_DEVICE(&s->gic), &err);
> -    if (err) {
> +    if (!sysbus_realize(SYS_BUS_DEVICE(&s->gic), &err)) {
>          error_propagate(errp, err);
>          return;
>      }
> @@ -470,8 +467,7 @@ static void xlnx_zynqmp_realize(DeviceState *dev, Error **errp)
>                                  &error_abort);
>          object_property_set_int(OBJECT(&s->gem[i]), 2, "num-priority-queues",
>                                  &error_abort);
> -        sysbus_realize(SYS_BUS_DEVICE(&s->gem[i]), &err);
> -        if (err) {
> +        if (!sysbus_realize(SYS_BUS_DEVICE(&s->gem[i]), &err)) {
>              error_propagate(errp, err);
>              return;
>          }
> @@ -482,8 +478,7 @@ static void xlnx_zynqmp_realize(DeviceState *dev, Error **errp)
>  
>      for (i = 0; i < XLNX_ZYNQMP_NUM_UARTS; i++) {
>          qdev_prop_set_chr(DEVICE(&s->uart[i]), "chardev", serial_hd(i));
> -        sysbus_realize(SYS_BUS_DEVICE(&s->uart[i]), &err);
> -        if (err) {
> +        if (!sysbus_realize(SYS_BUS_DEVICE(&s->uart[i]), &err)) {
>              error_propagate(errp, err);
>              return;
>          }
> @@ -494,8 +489,7 @@ static void xlnx_zynqmp_realize(DeviceState *dev, Error **errp)
>  
>      object_property_set_int(OBJECT(&s->sata), SATA_NUM_PORTS, "num-ports",
>                              &error_abort);
> -    sysbus_realize(SYS_BUS_DEVICE(&s->sata), &err);
> -    if (err) {
> +    if (!sysbus_realize(SYS_BUS_DEVICE(&s->sata), &err)) {
>          error_propagate(errp, err);
>          return;
>      }
> @@ -528,8 +522,7 @@ static void xlnx_zynqmp_realize(DeviceState *dev, Error **errp)
>              error_propagate(errp, err);
>              return;
>          }
> -        sysbus_realize(SYS_BUS_DEVICE(sdhci), &err);
> -        if (err) {
> +        if (!sysbus_realize(SYS_BUS_DEVICE(sdhci), &err)) {
>              error_propagate(errp, err);
>              return;
>          }
> @@ -545,8 +538,7 @@ static void xlnx_zynqmp_realize(DeviceState *dev, Error **errp)
>      for (i = 0; i < XLNX_ZYNQMP_NUM_SPIS; i++) {
>          gchar *bus_name;
>  
> -        sysbus_realize(SYS_BUS_DEVICE(&s->spi[i]), &err);
> -        if (err) {
> +        if (!sysbus_realize(SYS_BUS_DEVICE(&s->spi[i]), &err)) {
>              error_propagate(errp, err);
>              return;
>          }
> @@ -562,8 +554,7 @@ static void xlnx_zynqmp_realize(DeviceState *dev, Error **errp)
>          g_free(bus_name);
>      }
>  
> -    sysbus_realize(SYS_BUS_DEVICE(&s->qspi), &err);
> -    if (err) {
> +    if (!sysbus_realize(SYS_BUS_DEVICE(&s->qspi), &err)) {
>          error_propagate(errp, err);
>          return;
>      }
> @@ -584,16 +575,14 @@ static void xlnx_zynqmp_realize(DeviceState *dev, Error **errp)
>          g_free(target_bus);
>      }
>  
> -    sysbus_realize(SYS_BUS_DEVICE(&s->dp), &err);
> -    if (err) {
> +    if (!sysbus_realize(SYS_BUS_DEVICE(&s->dp), &err)) {
>          error_propagate(errp, err);
>          return;
>      }
>      sysbus_mmio_map(SYS_BUS_DEVICE(&s->dp), 0, DP_ADDR);
>      sysbus_connect_irq(SYS_BUS_DEVICE(&s->dp), 0, gic_spi[DP_IRQ]);
>  
> -    sysbus_realize(SYS_BUS_DEVICE(&s->dpdma), &err);
> -    if (err) {
> +    if (!sysbus_realize(SYS_BUS_DEVICE(&s->dpdma), &err)) {
>          error_propagate(errp, err);
>          return;
>      }
> @@ -602,16 +591,14 @@ static void xlnx_zynqmp_realize(DeviceState *dev, Error **errp)
>      sysbus_mmio_map(SYS_BUS_DEVICE(&s->dpdma), 0, DPDMA_ADDR);
>      sysbus_connect_irq(SYS_BUS_DEVICE(&s->dpdma), 0, gic_spi[DPDMA_IRQ]);
>  
> -    sysbus_realize(SYS_BUS_DEVICE(&s->ipi), &err);
> -    if (err) {
> +    if (!sysbus_realize(SYS_BUS_DEVICE(&s->ipi), &err)) {
>          error_propagate(errp, err);
>          return;
>      }
>      sysbus_mmio_map(SYS_BUS_DEVICE(&s->ipi), 0, IPI_ADDR);
>      sysbus_connect_irq(SYS_BUS_DEVICE(&s->ipi), 0, gic_spi[IPI_IRQ]);
>  
> -    sysbus_realize(SYS_BUS_DEVICE(&s->rtc), &err);
> -    if (err) {
> +    if (!sysbus_realize(SYS_BUS_DEVICE(&s->rtc), &err)) {
>          error_propagate(errp, err);
>          return;
>      }
> @@ -624,8 +611,7 @@ static void xlnx_zynqmp_realize(DeviceState *dev, Error **errp)
>              error_propagate(errp, err);
>              return;
>          }
> -        sysbus_realize(SYS_BUS_DEVICE(&s->gdma[i]), &err);
> -        if (err) {
> +        if (!sysbus_realize(SYS_BUS_DEVICE(&s->gdma[i]), &err)) {
>              error_propagate(errp, err);
>              return;
>          }
> @@ -636,8 +622,7 @@ static void xlnx_zynqmp_realize(DeviceState *dev, Error **errp)
>      }
>  
>      for (i = 0; i < XLNX_ZYNQMP_NUM_ADMA_CH; i++) {
> -        sysbus_realize(SYS_BUS_DEVICE(&s->adma[i]), &err);
> -        if (err) {
> +        if (!sysbus_realize(SYS_BUS_DEVICE(&s->adma[i]), &err)) {
>              error_propagate(errp, err);
>              return;
>          }
> diff --git a/hw/block/fdc.c b/hw/block/fdc.c
> index 3425d56e2a..3be8c7be5b 100644
> --- a/hw/block/fdc.c
> +++ b/hw/block/fdc.c
> @@ -2575,8 +2575,7 @@ static void fdctrl_connect_drives(FDCtrl *fdctrl, DeviceState *fdc_dev,
>              return;
>          }
>  
> -        qdev_realize_and_unref(dev, &fdctrl->bus.bus, &local_err);
> -        if (local_err) {
> +        if (!qdev_realize_and_unref(dev, &fdctrl->bus.bus, &local_err)) {
>              error_propagate(errp, local_err);
>              return;
>          }
> diff --git a/hw/block/xen-block.c b/hw/block/xen-block.c
> index 1b7bc5de08..10c44dfda2 100644
> --- a/hw/block/xen-block.c
> +++ b/hw/block/xen-block.c
> @@ -961,8 +961,7 @@ static void xen_block_device_create(XenBackendInstance *backend,
>      blockdev->iothread = iothread;
>      blockdev->drive = drive;
>  
> -    qdev_realize_and_unref(DEVICE(xendev), BUS(xenbus), &local_err);
> -    if (local_err) {
> +    if (!qdev_realize_and_unref(DEVICE(xendev), BUS(xenbus), &local_err)) {
>          error_propagate_prepend(errp, local_err,
>                                  "realization of device %s failed: ",
>                                  type);
> diff --git a/hw/char/serial-pci-multi.c b/hw/char/serial-pci-multi.c
> index 56f915e7c9..1328967461 100644
> --- a/hw/char/serial-pci-multi.c
> +++ b/hw/char/serial-pci-multi.c
> @@ -106,8 +106,7 @@ static void multi_serial_pci_realize(PCIDevice *dev, Error **errp)
>  
>      for (i = 0; i < nports; i++) {
>          s = pci->state + i;
> -        qdev_realize(DEVICE(s), NULL, &err);
> -        if (err != NULL) {
> +        if (!qdev_realize(DEVICE(s), NULL, &err)) {
>              error_propagate(errp, err);
>              multi_serial_pci_exit(dev);
>              return;
> diff --git a/hw/char/serial-pci.c b/hw/char/serial-pci.c
> index 298f3adba7..d22617426b 100644
> --- a/hw/char/serial-pci.c
> +++ b/hw/char/serial-pci.c
> @@ -49,8 +49,7 @@ static void serial_pci_realize(PCIDevice *dev, Error **errp)
>      SerialState *s = &pci->state;
>      Error *err = NULL;
>  
> -    qdev_realize(DEVICE(s), NULL, &err);
> -    if (err != NULL) {
> +    if (!qdev_realize(DEVICE(s), NULL, &err)) {
>          error_propagate(errp, err);
>          return;
>      }
> diff --git a/hw/char/serial.c b/hw/char/serial.c
> index 9eebcb27e7..e69096eace 100644
> --- a/hw/char/serial.c
> +++ b/hw/char/serial.c
> @@ -991,8 +991,7 @@ static void serial_io_realize(DeviceState *dev, Error **errp)
>      SerialState *s = &sio->serial;
>      Error *local_err = NULL;
>  
> -    qdev_realize(DEVICE(s), NULL, &local_err);
> -    if (local_err) {
> +    if (!qdev_realize(DEVICE(s), NULL, &local_err)) {
>          error_propagate(errp, local_err);
>          return;
>      }
> @@ -1098,8 +1097,7 @@ static void serial_mm_realize(DeviceState *dev, Error **errp)
>      SerialState *s = &smm->serial;
>      Error *local_err = NULL;
>  
> -    qdev_realize(DEVICE(s), NULL, &local_err);
> -    if (local_err) {
> +    if (!qdev_realize(DEVICE(s), NULL, &local_err)) {
>          error_propagate(errp, local_err);
>          return;
>      }
> diff --git a/hw/core/cpu.c b/hw/core/cpu.c
> index 0f23409f1d..594441a150 100644
> --- a/hw/core/cpu.c
> +++ b/hw/core/cpu.c
> @@ -59,8 +59,7 @@ CPUState *cpu_create(const char *typename)
>  {
>      Error *err = NULL;
>      CPUState *cpu = CPU(object_new(typename));
> -    qdev_realize(DEVICE(cpu), NULL, &err);
> -    if (err != NULL) {
> +    if (!qdev_realize(DEVICE(cpu), NULL, &err)) {
>          error_report_err(err);
>          object_unref(OBJECT(cpu));
>          exit(EXIT_FAILURE);
> diff --git a/hw/cpu/a15mpcore.c b/hw/cpu/a15mpcore.c
> index e6085f5d44..358c6152c7 100644
> --- a/hw/cpu/a15mpcore.c
> +++ b/hw/cpu/a15mpcore.c
> @@ -76,8 +76,7 @@ static void a15mp_priv_realize(DeviceState *dev, Error **errp)
>          qdev_prop_set_bit(gicdev, "has-virtualization-extensions", has_el2);
>      }
>  
> -    sysbus_realize(SYS_BUS_DEVICE(&s->gic), &err);
> -    if (err != NULL) {
> +    if (!sysbus_realize(SYS_BUS_DEVICE(&s->gic), &err)) {
>          error_propagate(errp, err);
>          return;
>      }
> diff --git a/hw/cpu/a9mpcore.c b/hw/cpu/a9mpcore.c
> index 642363d2f4..fc35dcf179 100644
> --- a/hw/cpu/a9mpcore.c
> +++ b/hw/cpu/a9mpcore.c
> @@ -57,8 +57,7 @@ static void a9mp_priv_realize(DeviceState *dev, Error **errp)
>  
>      scudev = DEVICE(&s->scu);
>      qdev_prop_set_uint32(scudev, "num-cpu", s->num_cpu);
> -    sysbus_realize(SYS_BUS_DEVICE(&s->scu), &err);
> -    if (err != NULL) {
> +    if (!sysbus_realize(SYS_BUS_DEVICE(&s->scu), &err)) {
>          error_propagate(errp, err);
>          return;
>      }
> @@ -78,8 +77,7 @@ static void a9mp_priv_realize(DeviceState *dev, Error **errp)
>          object_property_get_bool(cpuobj, "has_el3", &error_abort);
>      qdev_prop_set_bit(gicdev, "has-security-extensions", has_el3);
>  
> -    sysbus_realize(SYS_BUS_DEVICE(&s->gic), &err);
> -    if (err != NULL) {
> +    if (!sysbus_realize(SYS_BUS_DEVICE(&s->gic), &err)) {
>          error_propagate(errp, err);
>          return;
>      }
> @@ -93,8 +91,7 @@ static void a9mp_priv_realize(DeviceState *dev, Error **errp)
>  
>      gtimerdev = DEVICE(&s->gtimer);
>      qdev_prop_set_uint32(gtimerdev, "num-cpu", s->num_cpu);
> -    sysbus_realize(SYS_BUS_DEVICE(&s->gtimer), &err);
> -    if (err != NULL) {
> +    if (!sysbus_realize(SYS_BUS_DEVICE(&s->gtimer), &err)) {
>          error_propagate(errp, err);
>          return;
>      }
> @@ -102,8 +99,7 @@ static void a9mp_priv_realize(DeviceState *dev, Error **errp)
>  
>      mptimerdev = DEVICE(&s->mptimer);
>      qdev_prop_set_uint32(mptimerdev, "num-cpu", s->num_cpu);
> -    sysbus_realize(SYS_BUS_DEVICE(&s->mptimer), &err);
> -    if (err != NULL) {
> +    if (!sysbus_realize(SYS_BUS_DEVICE(&s->mptimer), &err)) {
>          error_propagate(errp, err);
>          return;
>      }
> @@ -111,8 +107,7 @@ static void a9mp_priv_realize(DeviceState *dev, Error **errp)
>  
>      wdtdev = DEVICE(&s->wdt);
>      qdev_prop_set_uint32(wdtdev, "num-cpu", s->num_cpu);
> -    sysbus_realize(SYS_BUS_DEVICE(&s->wdt), &err);
> -    if (err != NULL) {
> +    if (!sysbus_realize(SYS_BUS_DEVICE(&s->wdt), &err)) {
>          error_propagate(errp, err);
>          return;
>      }
> diff --git a/hw/cpu/arm11mpcore.c b/hw/cpu/arm11mpcore.c
> index a2afb992fb..c5eef9514d 100644
> --- a/hw/cpu/arm11mpcore.c
> +++ b/hw/cpu/arm11mpcore.c
> @@ -79,8 +79,7 @@ static void mpcore_priv_realize(DeviceState *dev, Error **errp)
>      Error *err = NULL;
>  
>      qdev_prop_set_uint32(scudev, "num-cpu", s->num_cpu);
> -    sysbus_realize(SYS_BUS_DEVICE(&s->scu), &err);
> -    if (err != NULL) {
> +    if (!sysbus_realize(SYS_BUS_DEVICE(&s->scu), &err)) {
>          error_propagate(errp, err);
>          return;
>      }
> @@ -91,8 +90,7 @@ static void mpcore_priv_realize(DeviceState *dev, Error **errp)
>                           ARM11MPCORE_NUM_GIC_PRIORITY_BITS);
>  
>  
> -    sysbus_realize(SYS_BUS_DEVICE(&s->gic), &err);
> -    if (err != NULL) {
> +    if (!sysbus_realize(SYS_BUS_DEVICE(&s->gic), &err)) {
>          error_propagate(errp, err);
>          return;
>      }
> @@ -104,15 +102,13 @@ static void mpcore_priv_realize(DeviceState *dev, Error **errp)
>      qdev_init_gpio_in(dev, mpcore_priv_set_irq, s->num_irq - 32);
>  
>      qdev_prop_set_uint32(mptimerdev, "num-cpu", s->num_cpu);
> -    sysbus_realize(SYS_BUS_DEVICE(&s->mptimer), &err);
> -    if (err != NULL) {
> +    if (!sysbus_realize(SYS_BUS_DEVICE(&s->mptimer), &err)) {
>          error_propagate(errp, err);
>          return;
>      }
>  
>      qdev_prop_set_uint32(wdtimerdev, "num-cpu", s->num_cpu);
> -    sysbus_realize(SYS_BUS_DEVICE(&s->wdtimer), &err);
> -    if (err != NULL) {
> +    if (!sysbus_realize(SYS_BUS_DEVICE(&s->wdtimer), &err)) {
>          error_propagate(errp, err);
>          return;
>      }
> diff --git a/hw/cpu/realview_mpcore.c b/hw/cpu/realview_mpcore.c
> index d2e426fa45..bf3e48b48e 100644
> --- a/hw/cpu/realview_mpcore.c
> +++ b/hw/cpu/realview_mpcore.c
> @@ -70,8 +70,7 @@ static void realview_mpcore_realize(DeviceState *dev, Error **errp)
>      int i;
>  
>      qdev_prop_set_uint32(priv, "num-cpu", s->num_cpu);
> -    sysbus_realize(SYS_BUS_DEVICE(&s->priv), &err);
> -    if (err != NULL) {
> +    if (!sysbus_realize(SYS_BUS_DEVICE(&s->priv), &err)) {
>          error_propagate(errp, err);
>          return;
>      }
> @@ -81,8 +80,7 @@ static void realview_mpcore_realize(DeviceState *dev, Error **errp)
>      }
>      /* ??? IRQ routing is hardcoded to "normal" mode.  */
>      for (n = 0; n < 4; n++) {
> -        sysbus_realize(SYS_BUS_DEVICE(&s->gic[n]), &err);
> -        if (err != NULL) {
> +        if (!sysbus_realize(SYS_BUS_DEVICE(&s->gic[n]), &err)) {
>              error_propagate(errp, err);
>              return;
>          }
> diff --git a/hw/display/virtio-gpu-pci.c b/hw/display/virtio-gpu-pci.c
> index 41b88b878d..357fefa3c0 100644
> --- a/hw/display/virtio-gpu-pci.c
> +++ b/hw/display/virtio-gpu-pci.c
> @@ -34,9 +34,7 @@ static void virtio_gpu_pci_base_realize(VirtIOPCIProxy *vpci_dev, Error **errp)
>      Error *local_error = NULL;
>  
>      virtio_pci_force_virtio_1(vpci_dev);
> -    qdev_realize(vdev, BUS(&vpci_dev->bus), &local_error);
> -
> -    if (local_error) {
> +    if (!qdev_realize(vdev, BUS(&vpci_dev->bus), &local_error)) {
>          error_propagate(errp, local_error);
>          return;
>      }
> diff --git a/hw/display/virtio-vga.c b/hw/display/virtio-vga.c
> index 67f409e106..0fc00fee1f 100644
> --- a/hw/display/virtio-vga.c
> +++ b/hw/display/virtio-vga.c
> @@ -138,8 +138,7 @@ static void virtio_vga_base_realize(VirtIOPCIProxy *vpci_dev, Error **errp)
>  
>      /* init virtio bits */
>      virtio_pci_force_virtio_1(vpci_dev);
> -    qdev_realize(DEVICE(g), BUS(&vpci_dev->bus), &err);
> -    if (err) {
> +    if (!qdev_realize(DEVICE(g), BUS(&vpci_dev->bus), &err)) {
>          error_propagate(errp, err);
>          return;
>      }
> diff --git a/hw/intc/armv7m_nvic.c b/hw/intc/armv7m_nvic.c
> index af9f4c5a85..80a915e922 100644
> --- a/hw/intc/armv7m_nvic.c
> +++ b/hw/intc/armv7m_nvic.c
> @@ -2640,8 +2640,7 @@ static void armv7m_nvic_realize(DeviceState *dev, Error **errp)
>  
>      s->num_prio_bits = arm_feature(&s->cpu->env, ARM_FEATURE_V7) ? 8 : 2;
>  
> -    sysbus_realize(SYS_BUS_DEVICE(&s->systick[M_REG_NS]), &err);
> -    if (err != NULL) {
> +    if (!sysbus_realize(SYS_BUS_DEVICE(&s->systick[M_REG_NS]), &err)) {
>          error_propagate(errp, err);
>          return;
>      }
> @@ -2657,8 +2656,7 @@ static void armv7m_nvic_realize(DeviceState *dev, Error **errp)
>          object_initialize_child(OBJECT(dev), "systick-reg-s",
>                                  &s->systick[M_REG_S], TYPE_SYSTICK);
>  
> -        sysbus_realize(SYS_BUS_DEVICE(&s->systick[M_REG_S]), &err);
> -        if (err != NULL) {
> +        if (!sysbus_realize(SYS_BUS_DEVICE(&s->systick[M_REG_S]), &err)) {
>              error_propagate(errp, err);
>              return;
>          }
> diff --git a/hw/intc/pnv_xive.c b/hw/intc/pnv_xive.c
> index 85ba0b4655..3b2e87334d 100644
> --- a/hw/intc/pnv_xive.c
> +++ b/hw/intc/pnv_xive.c
> @@ -1833,8 +1833,7 @@ static void pnv_xive_realize(DeviceState *dev, Error **errp)
>                              &error_fatal);
>      object_property_set_link(OBJECT(xsrc), OBJECT(xive), "xive",
>                               &error_abort);
> -    qdev_realize(DEVICE(xsrc), NULL, &local_err);
> -    if (local_err) {
> +    if (!qdev_realize(DEVICE(xsrc), NULL, &local_err)) {
>          error_propagate(errp, local_err);
>          return;
>      }
> @@ -1843,8 +1842,7 @@ static void pnv_xive_realize(DeviceState *dev, Error **errp)
>                              &error_fatal);
>      object_property_set_link(OBJECT(end_xsrc), OBJECT(xive), "xive",
>                               &error_abort);
> -    qdev_realize(DEVICE(end_xsrc), NULL, &local_err);
> -    if (local_err) {
> +    if (!qdev_realize(DEVICE(end_xsrc), NULL, &local_err)) {
>          error_propagate(errp, local_err);
>          return;
>      }
> diff --git a/hw/intc/realview_gic.c b/hw/intc/realview_gic.c
> index f11fb5259a..aa0010e91f 100644
> --- a/hw/intc/realview_gic.c
> +++ b/hw/intc/realview_gic.c
> @@ -34,8 +34,7 @@ static void realview_gic_realize(DeviceState *dev, Error **errp)
>      int numirq = 96;
>  
>      qdev_prop_set_uint32(DEVICE(&s->gic), "num-irq", numirq);
> -    sysbus_realize(SYS_BUS_DEVICE(&s->gic), &err);
> -    if (err != NULL) {
> +    if (!sysbus_realize(SYS_BUS_DEVICE(&s->gic), &err)) {
>          error_propagate(errp, err);
>          return;
>      }
> diff --git a/hw/intc/spapr_xive.c b/hw/intc/spapr_xive.c
> index b7fc8dde7a..615abf5462 100644
> --- a/hw/intc/spapr_xive.c
> +++ b/hw/intc/spapr_xive.c
> @@ -312,8 +312,7 @@ static void spapr_xive_realize(DeviceState *dev, Error **errp)
>                              &error_fatal);
>      object_property_set_link(OBJECT(xsrc), OBJECT(xive), "xive",
>                               &error_abort);
> -    qdev_realize(DEVICE(xsrc), NULL, &local_err);
> -    if (local_err) {
> +    if (!qdev_realize(DEVICE(xsrc), NULL, &local_err)) {
>          error_propagate(errp, local_err);
>          return;
>      }
> @@ -326,8 +325,7 @@ static void spapr_xive_realize(DeviceState *dev, Error **errp)
>                              &error_fatal);
>      object_property_set_link(OBJECT(end_xsrc), OBJECT(xive), "xive",
>                               &error_abort);
> -    qdev_realize(DEVICE(end_xsrc), NULL, &local_err);
> -    if (local_err) {
> +    if (!qdev_realize(DEVICE(end_xsrc), NULL, &local_err)) {
>          error_propagate(errp, local_err);
>          return;
>      }
> diff --git a/hw/intc/xics.c b/hw/intc/xics.c
> index d365eeca66..811b0346e1 100644
> --- a/hw/intc/xics.c
> +++ b/hw/intc/xics.c
> @@ -384,8 +384,7 @@ Object *icp_create(Object *cpu, const char *type, XICSFabric *xi, Error **errp)
>      object_unref(obj);
>      object_property_set_link(obj, OBJECT(xi), ICP_PROP_XICS, &error_abort);
>      object_property_set_link(obj, cpu, ICP_PROP_CPU, &error_abort);
> -    qdev_realize(DEVICE(obj), NULL, &local_err);
> -    if (local_err) {
> +    if (!qdev_realize(DEVICE(obj), NULL, &local_err)) {
>          object_unparent(obj);
>          error_propagate(errp, local_err);
>          obj = NULL;
> diff --git a/hw/intc/xive.c b/hw/intc/xive.c
> index 2c30dc53d8..8e167306e7 100644
> --- a/hw/intc/xive.c
> +++ b/hw/intc/xive.c
> @@ -765,8 +765,7 @@ Object *xive_tctx_create(Object *cpu, XivePresenter *xptr, Error **errp)
>      object_unref(obj);
>      object_property_set_link(obj, cpu, "cpu", &error_abort);
>      object_property_set_link(obj, OBJECT(xptr), "presenter", &error_abort);
> -    qdev_realize(DEVICE(obj), NULL, &local_err);
> -    if (local_err) {
> +    if (!qdev_realize(DEVICE(obj), NULL, &local_err)) {
>          goto error;
>      }
>  
> diff --git a/hw/isa/piix4.c b/hw/isa/piix4.c
> index f634bcb2d1..09d7daabed 100644
> --- a/hw/isa/piix4.c
> +++ b/hw/isa/piix4.c
> @@ -183,8 +183,7 @@ static void piix4_realize(PCIDevice *dev, Error **errp)
>  
>      /* RTC */
>      qdev_prop_set_int32(DEVICE(&s->rtc), "base_year", 2000);
> -    qdev_realize(DEVICE(&s->rtc), BUS(isa_bus), &err);
> -    if (err) {
> +    if (!qdev_realize(DEVICE(&s->rtc), BUS(isa_bus), &err)) {
>          error_propagate(errp, err);
>          return;
>      }
> diff --git a/hw/microblaze/xlnx-zynqmp-pmu.c b/hw/microblaze/xlnx-zynqmp-pmu.c
> index abebc7e2ef..5e861f5ae2 100644
> --- a/hw/microblaze/xlnx-zynqmp-pmu.c
> +++ b/hw/microblaze/xlnx-zynqmp-pmu.c
> @@ -96,8 +96,7 @@ static void xlnx_zynqmp_pmu_soc_realize(DeviceState *dev, Error **errp)
>      object_property_set_str(OBJECT(&s->cpu), "8.40.b", "version",
>                              &error_abort);
>      object_property_set_uint(OBJECT(&s->cpu), 0, "pvr", &error_abort);
> -    qdev_realize(DEVICE(&s->cpu), NULL, &err);
> -    if (err) {
> +    if (!qdev_realize(DEVICE(&s->cpu), NULL, &err)) {
>          error_propagate(errp, err);
>          return;
>      }
> @@ -108,8 +107,7 @@ static void xlnx_zynqmp_pmu_soc_realize(DeviceState *dev, Error **errp)
>                               &error_abort);
>      object_property_set_uint(OBJECT(&s->intc), 0xffff, "intc-positive",
>                               &error_abort);
> -    sysbus_realize(SYS_BUS_DEVICE(&s->intc), &err);
> -    if (err) {
> +    if (!sysbus_realize(SYS_BUS_DEVICE(&s->intc), &err)) {
>          error_propagate(errp, err);
>          return;
>      }
> diff --git a/hw/mips/cps.c b/hw/mips/cps.c
> index 0d7f3cf673..22b932890d 100644
> --- a/hw/mips/cps.c
> +++ b/hw/mips/cps.c
> @@ -109,8 +109,7 @@ static void mips_cps_realize(DeviceState *dev, Error **errp)
>          if (saar_present) {
>              s->itu.saar = &env->CP0_SAAR;
>          }
> -        sysbus_realize(SYS_BUS_DEVICE(&s->itu), &err);
> -        if (err != NULL) {
> +        if (!sysbus_realize(SYS_BUS_DEVICE(&s->itu), &err)) {
>              error_propagate(errp, err);
>              return;
>          }
> @@ -125,8 +124,7 @@ static void mips_cps_realize(DeviceState *dev, Error **errp)
>                              &error_abort);
>      object_property_set_int(OBJECT(&s->cpc), 1, "vp-start-running",
>                              &error_abort);
> -    sysbus_realize(SYS_BUS_DEVICE(&s->cpc), &err);
> -    if (err != NULL) {
> +    if (!sysbus_realize(SYS_BUS_DEVICE(&s->cpc), &err)) {
>          error_propagate(errp, err);
>          return;
>      }
> @@ -140,8 +138,7 @@ static void mips_cps_realize(DeviceState *dev, Error **errp)
>                              &error_abort);
>      object_property_set_int(OBJECT(&s->gic), 128, "num-irq",
>                              &error_abort);
> -    sysbus_realize(SYS_BUS_DEVICE(&s->gic), &err);
> -    if (err != NULL) {
> +    if (!sysbus_realize(SYS_BUS_DEVICE(&s->gic), &err)) {
>          error_propagate(errp, err);
>          return;
>      }
> @@ -163,8 +160,7 @@ static void mips_cps_realize(DeviceState *dev, Error **errp)
>                               &error_abort);
>      object_property_set_link(OBJECT(&s->gcr), OBJECT(&s->cpc.mr), "cpc",
>                               &error_abort);
> -    sysbus_realize(SYS_BUS_DEVICE(&s->gcr), &err);
> -    if (err != NULL) {
> +    if (!sysbus_realize(SYS_BUS_DEVICE(&s->gcr), &err)) {
>          error_propagate(errp, err);
>          return;
>      }
> diff --git a/hw/misc/macio/cuda.c b/hw/misc/macio/cuda.c
> index 5bbc7770fa..cc7c26d67c 100644
> --- a/hw/misc/macio/cuda.c
> +++ b/hw/misc/macio/cuda.c
> @@ -526,8 +526,7 @@ static void cuda_realize(DeviceState *dev, Error **errp)
>      ADBBusState *adb_bus = &s->adb_bus;
>      struct tm tm;
>  
> -    sysbus_realize(SYS_BUS_DEVICE(&s->mos6522_cuda), &err);
> -    if (err) {
> +    if (!sysbus_realize(SYS_BUS_DEVICE(&s->mos6522_cuda), &err)) {
>          error_propagate(errp, err);
>          return;
>      }
> diff --git a/hw/misc/macio/macio.c b/hw/misc/macio/macio.c
> index 3251c79f46..42414797e2 100644
> --- a/hw/misc/macio/macio.c
> +++ b/hw/misc/macio/macio.c
> @@ -100,8 +100,7 @@ static void macio_common_realize(PCIDevice *d, Error **errp)
>      SysBusDevice *sysbus_dev;
>      Error *err = NULL;
>  
> -    qdev_realize(DEVICE(&s->dbdma), BUS(&s->macio_bus), &err);
> -    if (err) {
> +    if (!qdev_realize(DEVICE(&s->dbdma), BUS(&s->macio_bus), &err)) {
>          error_propagate(errp, err);
>          return;
>      }
> @@ -116,8 +115,7 @@ static void macio_common_realize(PCIDevice *d, Error **errp)
>      qdev_prop_set_chr(DEVICE(&s->escc), "chrB", serial_hd(1));
>      qdev_prop_set_uint32(DEVICE(&s->escc), "chnBtype", escc_serial);
>      qdev_prop_set_uint32(DEVICE(&s->escc), "chnAtype", escc_serial);
> -    qdev_realize(DEVICE(&s->escc), BUS(&s->macio_bus), &err);
> -    if (err) {
> +    if (!qdev_realize(DEVICE(&s->escc), BUS(&s->macio_bus), &err)) {
>          error_propagate(errp, err);
>          return;
>      }
> @@ -159,8 +157,7 @@ static void macio_oldworld_realize(PCIDevice *d, Error **errp)
>  
>      qdev_prop_set_uint64(DEVICE(&s->cuda), "timebase-frequency",
>                           s->frequency);
> -    qdev_realize(DEVICE(&s->cuda), BUS(&s->macio_bus), &err);
> -    if (err) {
> +    if (!qdev_realize(DEVICE(&s->cuda), BUS(&s->macio_bus), &err)) {
>          error_propagate(errp, err);
>          return;
>      }
> @@ -176,8 +173,7 @@ static void macio_oldworld_realize(PCIDevice *d, Error **errp)
>      sysbus_connect_irq(sysbus_dev, 1, qdev_get_gpio_in(pic_dev,
>                                                         OLDWORLD_ESCCA_IRQ));
>  
> -    qdev_realize(DEVICE(&os->nvram), BUS(&s->macio_bus), &err);
> -    if (err) {
> +    if (!qdev_realize(DEVICE(&os->nvram), BUS(&s->macio_bus), &err)) {
>          error_propagate(errp, err);
>          return;
>      }
> @@ -345,8 +341,7 @@ static void macio_newworld_realize(PCIDevice *d, Error **errp)
>          object_property_set_link(OBJECT(&s->pmu), OBJECT(sysbus_dev), "gpio",
>                                   &error_abort);
>          qdev_prop_set_bit(DEVICE(&s->pmu), "has-adb", ns->has_adb);
> -        qdev_realize(DEVICE(&s->pmu), BUS(&s->macio_bus), &err);
> -        if (err) {
> +        if (!qdev_realize(DEVICE(&s->pmu), BUS(&s->macio_bus), &err)) {
>              error_propagate(errp, err);
>              return;
>          }
> @@ -363,8 +358,7 @@ static void macio_newworld_realize(PCIDevice *d, Error **errp)
>          qdev_prop_set_uint64(DEVICE(&s->cuda), "timebase-frequency",
>                               s->frequency);
>  
> -        qdev_realize(DEVICE(&s->cuda), BUS(&s->macio_bus), &err);
> -        if (err) {
> +        if (!qdev_realize(DEVICE(&s->cuda), BUS(&s->macio_bus), &err)) {
>              error_propagate(errp, err);
>              return;
>          }
> diff --git a/hw/misc/macio/pmu.c b/hw/misc/macio/pmu.c
> index 598d8e7517..42ba963d8c 100644
> --- a/hw/misc/macio/pmu.c
> +++ b/hw/misc/macio/pmu.c
> @@ -740,8 +740,7 @@ static void pmu_realize(DeviceState *dev, Error **errp)
>      ADBBusState *adb_bus = &s->adb_bus;
>      struct tm tm;
>  
> -    sysbus_realize(SYS_BUS_DEVICE(&s->mos6522_pmu), &err);
> -    if (err) {
> +    if (!sysbus_realize(SYS_BUS_DEVICE(&s->mos6522_pmu), &err)) {
>          error_propagate(errp, err);
>          return;
>      }
> diff --git a/hw/pci-host/pnv_phb3.c b/hw/pci-host/pnv_phb3.c
> index 3ec904a55f..7b547b1d78 100644
> --- a/hw/pci-host/pnv_phb3.c
> +++ b/hw/pci-host/pnv_phb3.c
> @@ -1003,8 +1003,7 @@ static void pnv_phb3_realize(DeviceState *dev, Error **errp)
>                                     &error_abort);
>      object_property_set_int(OBJECT(&phb->lsis), PNV_PHB3_NUM_LSI, "nr-irqs",
>                              &error_abort);
> -    qdev_realize(DEVICE(&phb->lsis), NULL, &local_err);
> -    if (local_err) {
> +    if (!qdev_realize(DEVICE(&phb->lsis), NULL, &local_err)) {
>          error_propagate(errp, local_err);
>          return;
>      }
> @@ -1022,8 +1021,7 @@ static void pnv_phb3_realize(DeviceState *dev, Error **errp)
>                                     &error_abort);
>      object_property_set_int(OBJECT(&phb->msis), PHB3_MAX_MSI, "nr-irqs",
>                              &error_abort);
> -    qdev_realize(DEVICE(&phb->msis), NULL, &local_err);
> -    if (local_err) {
> +    if (!qdev_realize(DEVICE(&phb->msis), NULL, &local_err)) {
>          error_propagate(errp, local_err);
>          return;
>      }
> @@ -1031,8 +1029,7 @@ static void pnv_phb3_realize(DeviceState *dev, Error **errp)
>      /* Power Bus Common Queue */
>      object_property_set_link(OBJECT(&phb->pbcq), OBJECT(phb), "phb",
>                                     &error_abort);
> -    qdev_realize(DEVICE(&phb->pbcq), NULL, &local_err);
> -    if (local_err) {
> +    if (!qdev_realize(DEVICE(&phb->pbcq), NULL, &local_err)) {
>          error_propagate(errp, local_err);
>          return;
>      }
> diff --git a/hw/pci-host/pnv_phb4.c b/hw/pci-host/pnv_phb4.c
> index 10716d759d..53c2b1785b 100644
> --- a/hw/pci-host/pnv_phb4.c
> +++ b/hw/pci-host/pnv_phb4.c
> @@ -1218,8 +1218,7 @@ static void pnv_phb4_realize(DeviceState *dev, Error **errp)
>      }
>      object_property_set_int(OBJECT(xsrc), nr_irqs, "nr-irqs", &error_fatal);
>      object_property_set_link(OBJECT(xsrc), OBJECT(phb), "xive", &error_fatal);
> -    qdev_realize(DEVICE(xsrc), NULL, &local_err);
> -    if (local_err) {
> +    if (!qdev_realize(DEVICE(xsrc), NULL, &local_err)) {
>          error_propagate(errp, local_err);
>          return;
>      }
> diff --git a/hw/pci-host/pnv_phb4_pec.c b/hw/pci-host/pnv_phb4_pec.c
> index 2d634c838e..45a1b3719d 100644
> --- a/hw/pci-host/pnv_phb4_pec.c
> +++ b/hw/pci-host/pnv_phb4_pec.c
> @@ -390,8 +390,7 @@ static void pnv_pec_realize(DeviceState *dev, Error **errp)
>  
>          object_property_set_int(stk_obj, i, "stack-no", &error_abort);
>          object_property_set_link(stk_obj, OBJECT(pec), "pec", &error_abort);
> -        qdev_realize(DEVICE(stk_obj), NULL, &local_err);
> -        if (local_err) {
> +        if (!qdev_realize(DEVICE(stk_obj), NULL, &local_err)) {
>              error_propagate(errp, local_err);
>              return;
>          }
> diff --git a/hw/ppc/e500.c b/hw/ppc/e500.c
> index 51bf95b303..97fa970e72 100644
> --- a/hw/ppc/e500.c
> +++ b/hw/ppc/e500.c
> @@ -771,8 +771,7 @@ static DeviceState *ppce500_init_mpic_kvm(const PPCE500MachineClass *pmc,
>      dev = qdev_new(TYPE_KVM_OPENPIC);
>      qdev_prop_set_uint32(dev, "model", pmc->mpic_version);
>  
> -    sysbus_realize_and_unref(SYS_BUS_DEVICE(dev), &err);
> -    if (err) {
> +    if (!sysbus_realize_and_unref(SYS_BUS_DEVICE(dev), &err)) {
>          error_propagate(errp, err);
>          object_unparent(OBJECT(dev));
>          return NULL;
> diff --git a/hw/ppc/pnv.c b/hw/ppc/pnv.c
> index 643098ad5f..f2d70c3e18 100644
> --- a/hw/ppc/pnv.c
> +++ b/hw/ppc/pnv.c
> @@ -1140,8 +1140,7 @@ static void pnv_chip_power8_realize(DeviceState *dev, Error **errp)
>                              "bar", &error_fatal);
>      object_property_set_link(OBJECT(&chip8->psi), OBJECT(chip8->xics),
>                               ICS_PROP_XICS, &error_abort);
> -    qdev_realize(DEVICE(&chip8->psi), NULL, &local_err);
> -    if (local_err) {
> +    if (!qdev_realize(DEVICE(&chip8->psi), NULL, &local_err)) {
>          error_propagate(errp, local_err);
>          return;
>      }
> @@ -1171,8 +1170,7 @@ static void pnv_chip_power8_realize(DeviceState *dev, Error **errp)
>      /* Create the simplified OCC model */
>      object_property_set_link(OBJECT(&chip8->occ), OBJECT(&chip8->psi), "psi",
>                               &error_abort);
> -    qdev_realize(DEVICE(&chip8->occ), NULL, &local_err);
> -    if (local_err) {
> +    if (!qdev_realize(DEVICE(&chip8->occ), NULL, &local_err)) {
>          error_propagate(errp, local_err);
>          return;
>      }
> @@ -1185,8 +1183,7 @@ static void pnv_chip_power8_realize(DeviceState *dev, Error **errp)
>      /* HOMER */
>      object_property_set_link(OBJECT(&chip8->homer), OBJECT(chip), "chip",
>                               &error_abort);
> -    qdev_realize(DEVICE(&chip8->homer), NULL, &local_err);
> -    if (local_err) {
> +    if (!qdev_realize(DEVICE(&chip8->homer), NULL, &local_err)) {
>          error_propagate(errp, local_err);
>          return;
>      }
> @@ -1205,8 +1202,7 @@ static void pnv_chip_power8_realize(DeviceState *dev, Error **errp)
>          object_property_set_int(OBJECT(phb), i, "index", &error_fatal);
>          object_property_set_int(OBJECT(phb), chip->chip_id, "chip-id",
>                                  &error_fatal);
> -        sysbus_realize(SYS_BUS_DEVICE(phb), &local_err);
> -        if (local_err) {
> +        if (!sysbus_realize(SYS_BUS_DEVICE(phb), &local_err)) {
>              error_propagate(errp, local_err);
>              return;
>          }
> @@ -1384,8 +1380,7 @@ static void pnv_chip_power9_phb_realize(PnvChip *chip, Error **errp)
>                                   &error_fatal);
>          object_property_set_link(OBJECT(pec), OBJECT(get_system_memory()),
>                                   "system-memory", &error_abort);
> -        qdev_realize(DEVICE(pec), NULL, &local_err);
> -        if (local_err) {
> +        if (!qdev_realize(DEVICE(pec), NULL, &local_err)) {
>              error_propagate(errp, local_err);
>              return;
>          }
> @@ -1409,8 +1404,7 @@ static void pnv_chip_power9_phb_realize(PnvChip *chip, Error **errp)
>              object_property_set_int(obj, PNV_PHB4_DEVICE_ID, "device-id",
>                                      &error_fatal);
>              object_property_set_link(obj, OBJECT(stack), "stack", &error_abort);
> -            sysbus_realize(SYS_BUS_DEVICE(obj), &local_err);
> -            if (local_err) {
> +            if (!sysbus_realize(SYS_BUS_DEVICE(obj), &local_err)) {
>                  error_propagate(errp, local_err);
>                  return;
>              }
> @@ -1469,8 +1463,7 @@ static void pnv_chip_power9_realize(DeviceState *dev, Error **errp)
>                              "tm-bar", &error_fatal);
>      object_property_set_link(OBJECT(&chip9->xive), OBJECT(chip), "chip",
>                               &error_abort);
> -    sysbus_realize(SYS_BUS_DEVICE(&chip9->xive), &local_err);
> -    if (local_err) {
> +    if (!sysbus_realize(SYS_BUS_DEVICE(&chip9->xive), &local_err)) {
>          error_propagate(errp, local_err);
>          return;
>      }
> @@ -1480,8 +1473,7 @@ static void pnv_chip_power9_realize(DeviceState *dev, Error **errp)
>      /* Processor Service Interface (PSI) Host Bridge */
>      object_property_set_int(OBJECT(&chip9->psi), PNV9_PSIHB_BASE(chip),
>                              "bar", &error_fatal);
> -    qdev_realize(DEVICE(&chip9->psi), NULL, &local_err);
> -    if (local_err) {
> +    if (!qdev_realize(DEVICE(&chip9->psi), NULL, &local_err)) {
>          error_propagate(errp, local_err);
>          return;
>      }
> @@ -1491,8 +1483,7 @@ static void pnv_chip_power9_realize(DeviceState *dev, Error **errp)
>      /* LPC */
>      object_property_set_link(OBJECT(&chip9->lpc), OBJECT(&chip9->psi), "psi",
>                               &error_abort);
> -    qdev_realize(DEVICE(&chip9->lpc), NULL, &local_err);
> -    if (local_err) {
> +    if (!qdev_realize(DEVICE(&chip9->lpc), NULL, &local_err)) {
>          error_propagate(errp, local_err);
>          return;
>      }
> @@ -1505,8 +1496,7 @@ static void pnv_chip_power9_realize(DeviceState *dev, Error **errp)
>      /* Create the simplified OCC model */
>      object_property_set_link(OBJECT(&chip9->occ), OBJECT(&chip9->psi), "psi",
>                               &error_abort);
> -    qdev_realize(DEVICE(&chip9->occ), NULL, &local_err);
> -    if (local_err) {
> +    if (!qdev_realize(DEVICE(&chip9->occ), NULL, &local_err)) {
>          error_propagate(errp, local_err);
>          return;
>      }
> @@ -1519,8 +1509,7 @@ static void pnv_chip_power9_realize(DeviceState *dev, Error **errp)
>      /* HOMER */
>      object_property_set_link(OBJECT(&chip9->homer), OBJECT(chip), "chip",
>                               &error_abort);
> -    qdev_realize(DEVICE(&chip9->homer), NULL, &local_err);
> -    if (local_err) {
> +    if (!qdev_realize(DEVICE(&chip9->homer), NULL, &local_err)) {
>          error_propagate(errp, local_err);
>          return;
>      }
> @@ -1601,8 +1590,7 @@ static void pnv_chip_power10_realize(DeviceState *dev, Error **errp)
>      /* Processor Service Interface (PSI) Host Bridge */
>      object_property_set_int(OBJECT(&chip10->psi), PNV10_PSIHB_BASE(chip),
>                              "bar", &error_fatal);
> -    qdev_realize(DEVICE(&chip10->psi), NULL, &local_err);
> -    if (local_err) {
> +    if (!qdev_realize(DEVICE(&chip10->psi), NULL, &local_err)) {
>          error_propagate(errp, local_err);
>          return;
>      }
> @@ -1612,8 +1600,7 @@ static void pnv_chip_power10_realize(DeviceState *dev, Error **errp)
>      /* LPC */
>      object_property_set_link(OBJECT(&chip10->lpc), OBJECT(&chip10->psi), "psi",
>                               &error_abort);
> -    qdev_realize(DEVICE(&chip10->lpc), NULL, &local_err);
> -    if (local_err) {
> +    if (!qdev_realize(DEVICE(&chip10->lpc), NULL, &local_err)) {
>          error_propagate(errp, local_err);
>          return;
>      }
> diff --git a/hw/ppc/pnv_core.c b/hw/ppc/pnv_core.c
> index c986c16db1..d699f077ad 100644
> --- a/hw/ppc/pnv_core.c
> +++ b/hw/ppc/pnv_core.c
> @@ -173,8 +173,7 @@ static void pnv_core_cpu_realize(PnvCore *pc, PowerPCCPU *cpu, Error **errp)
>      Error *local_err = NULL;
>      PnvChipClass *pcc = PNV_CHIP_GET_CLASS(pc->chip);
>  
> -    qdev_realize(DEVICE(cpu), NULL, &local_err);
> -    if (local_err) {
> +    if (!qdev_realize(DEVICE(cpu), NULL, &local_err)) {
>          error_propagate(errp, local_err);
>          return;
>      }
> diff --git a/hw/ppc/pnv_psi.c b/hw/ppc/pnv_psi.c
> index 75b8ae9703..7efe6e138f 100644
> --- a/hw/ppc/pnv_psi.c
> +++ b/hw/ppc/pnv_psi.c
> @@ -510,8 +510,7 @@ static void pnv_psi_power8_realize(DeviceState *dev, Error **errp)
>          error_propagate(errp, err);
>          return;
>      }
> -    qdev_realize(DEVICE(ics), NULL, &err);
> -    if (err) {
> +    if (!qdev_realize(DEVICE(ics), NULL, &err)) {
>          error_propagate(errp, err);
>          return;
>      }
> @@ -851,8 +850,7 @@ static void pnv_psi_power9_realize(DeviceState *dev, Error **errp)
>      object_property_set_int(OBJECT(xsrc), PSIHB9_NUM_IRQS, "nr-irqs",
>                              &error_fatal);
>      object_property_set_link(OBJECT(xsrc), OBJECT(psi), "xive", &error_abort);
> -    qdev_realize(DEVICE(xsrc), NULL, &local_err);
> -    if (local_err) {
> +    if (!qdev_realize(DEVICE(xsrc), NULL, &local_err)) {
>          error_propagate(errp, local_err);
>          return;
>      }
> diff --git a/hw/ppc/spapr_cpu_core.c b/hw/ppc/spapr_cpu_core.c
> index 26ad566f42..85330d08a1 100644
> --- a/hw/ppc/spapr_cpu_core.c
> +++ b/hw/ppc/spapr_cpu_core.c
> @@ -239,8 +239,7 @@ static void spapr_realize_vcpu(PowerPCCPU *cpu, SpaprMachineState *spapr,
>      CPUState *cs = CPU(cpu);
>      Error *local_err = NULL;
>  
> -    qdev_realize(DEVICE(cpu), NULL, &local_err);
> -    if (local_err) {
> +    if (!qdev_realize(DEVICE(cpu), NULL, &local_err)) {
>          goto error;
>      }
>  
> diff --git a/hw/ppc/spapr_irq.c b/hw/ppc/spapr_irq.c
> index 897bf98587..1d0db57fc5 100644
> --- a/hw/ppc/spapr_irq.c
> +++ b/hw/ppc/spapr_irq.c
> @@ -311,8 +311,7 @@ void spapr_irq_init(SpaprMachineState *spapr, Error **errp)
>          object_property_set_link(obj, OBJECT(spapr), ICS_PROP_XICS,
>                                   &error_abort);
>          object_property_set_int(obj, smc->nr_xirqs, "nr-irqs", &error_abort);
> -        qdev_realize(DEVICE(obj), NULL, &local_err);
> -        if (local_err) {
> +        if (!qdev_realize(DEVICE(obj), NULL, &local_err)) {
>              error_propagate(errp, local_err);
>              return;
>          }
> diff --git a/hw/riscv/opentitan.c b/hw/riscv/opentitan.c
> index 19223e4c29..5fce455d30 100644
> --- a/hw/riscv/opentitan.c
> +++ b/hw/riscv/opentitan.c
> @@ -127,8 +127,7 @@ static void lowrisc_ibex_soc_realize(DeviceState *dev_soc, Error **errp)
>                                  &s->flash_mem);
>  
>      /* PLIC */
> -    sysbus_realize(SYS_BUS_DEVICE(&s->plic), &err);
> -    if (err != NULL) {
> +    if (!sysbus_realize(SYS_BUS_DEVICE(&s->plic), &err)) {
>          error_propagate(errp, err);
>          return;
>      }
> @@ -136,8 +135,7 @@ static void lowrisc_ibex_soc_realize(DeviceState *dev_soc, Error **errp)
>  
>      /* UART */
>      qdev_prop_set_chr(DEVICE(&(s->uart)), "chardev", serial_hd(0));
> -    sysbus_realize(SYS_BUS_DEVICE(&s->uart), &err);
> -    if (err != NULL) {
> +    if (!sysbus_realize(SYS_BUS_DEVICE(&s->uart), &err)) {
>          error_propagate(errp, err);
>          return;
>      }
> diff --git a/hw/riscv/sifive_e.c b/hw/riscv/sifive_e.c
> index 0cb66ac4e2..1b2e95a977 100644
> --- a/hw/riscv/sifive_e.c
> +++ b/hw/riscv/sifive_e.c
> @@ -221,8 +221,7 @@ static void sifive_e_soc_realize(DeviceState *dev, Error **errp)
>  
>      /* GPIO */
>  
> -    sysbus_realize(SYS_BUS_DEVICE(&s->gpio), &err);
> -    if (err) {
> +    if (!sysbus_realize(SYS_BUS_DEVICE(&s->gpio), &err)) {
>          error_propagate(errp, err);
>          return;
>      }
> diff --git a/hw/riscv/sifive_u.c b/hw/riscv/sifive_u.c
> index a1d2edfe13..7b9e7fdc7f 100644
> --- a/hw/riscv/sifive_u.c
> +++ b/hw/riscv/sifive_u.c
> @@ -710,8 +710,7 @@ static void sifive_u_soc_realize(DeviceState *dev, Error **errp)
>      }
>      object_property_set_int(OBJECT(&s->gem), GEM_REVISION, "revision",
>                              &error_abort);
> -    sysbus_realize(SYS_BUS_DEVICE(&s->gem), &err);
> -    if (err) {
> +    if (!sysbus_realize(SYS_BUS_DEVICE(&s->gem), &err)) {
>          error_propagate(errp, err);
>          return;
>      }
> diff --git a/hw/s390x/event-facility.c b/hw/s390x/event-facility.c
> index 164b1fd295..cee2908ae9 100644
> --- a/hw/s390x/event-facility.c
> +++ b/hw/s390x/event-facility.c
> @@ -444,15 +444,13 @@ static void realize_event_facility(DeviceState *dev, Error **errp)
>      SCLPEventFacility *event_facility = EVENT_FACILITY(dev);
>      Error *local_err = NULL;
>  
> -    qdev_realize(DEVICE(&event_facility->quiesce),
> -                 BUS(&event_facility->sbus), &local_err);
> -    if (local_err) {
> +    if (!qdev_realize(DEVICE(&event_facility->quiesce),
> +                      BUS(&event_facility->sbus), &local_err)) {
>          error_propagate(errp, local_err);
>          return;
>      }
> -    qdev_realize(DEVICE(&event_facility->cpu_hotplug),
> -                 BUS(&event_facility->sbus), &local_err);
> -    if (local_err) {
> +    if (!qdev_realize(DEVICE(&event_facility->cpu_hotplug),
> +                      BUS(&event_facility->sbus), &local_err)) {
>          error_propagate(errp, local_err);
>          qdev_unrealize(DEVICE(&event_facility->quiesce));
>          return;
> diff --git a/hw/s390x/s390-pci-bus.c b/hw/s390x/s390-pci-bus.c
> index 142e52a8ff..0517901024 100644
> --- a/hw/s390x/s390-pci-bus.c
> +++ b/hw/s390x/s390-pci-bus.c
> @@ -829,8 +829,7 @@ static S390PCIBusDevice *s390_pci_device_new(S390pciState *s,
>                                  "zPCI device could not be created: ");
>          return NULL;
>      }
> -    qdev_realize_and_unref(dev, BUS(s->bus), &local_err);
> -    if (local_err) {
> +    if (!qdev_realize_and_unref(dev, BUS(s->bus), &local_err)) {
>          object_unparent(OBJECT(dev));
>          error_propagate_prepend(errp, local_err,
>                                  "zPCI device could not be created: ");
> diff --git a/hw/s390x/sclp.c b/hw/s390x/sclp.c
> index d39f6d7785..03364343eb 100644
> --- a/hw/s390x/sclp.c
> +++ b/hw/s390x/sclp.c
> @@ -338,8 +338,7 @@ static void sclp_realize(DeviceState *dev, Error **errp)
>       * as we can't find a fitting bus via the qom tree, we have to add the
>       * event facility to the sysbus, so e.g. a sclp console can be created.
>       */
> -    sysbus_realize(SYS_BUS_DEVICE(sclp->event_facility), &err);
> -    if (err) {
> +    if (!sysbus_realize(SYS_BUS_DEVICE(sclp->event_facility), &err)) {
>          goto out;
>      }
>  
> diff --git a/hw/s390x/virtio-ccw-crypto.c b/hw/s390x/virtio-ccw-crypto.c
> index ca6753bff3..36cfdf865c 100644
> --- a/hw/s390x/virtio-ccw-crypto.c
> +++ b/hw/s390x/virtio-ccw-crypto.c
> @@ -21,8 +21,7 @@ static void virtio_ccw_crypto_realize(VirtioCcwDevice *ccw_dev, Error **errp)
>      DeviceState *vdev = DEVICE(&dev->vdev);
>      Error *err = NULL;
>  
> -    qdev_realize(vdev, BUS(&ccw_dev->bus), &err);
> -    if (err) {
> +    if (!qdev_realize(vdev, BUS(&ccw_dev->bus), &err)) {
>          error_propagate(errp, err);
>          return;
>      }
> diff --git a/hw/s390x/virtio-ccw-rng.c b/hw/s390x/virtio-ccw-rng.c
> index 4077160f49..513f85ac63 100644
> --- a/hw/s390x/virtio-ccw-rng.c
> +++ b/hw/s390x/virtio-ccw-rng.c
> @@ -22,8 +22,7 @@ static void virtio_ccw_rng_realize(VirtioCcwDevice *ccw_dev, Error **errp)
>      DeviceState *vdev = DEVICE(&dev->vdev);
>      Error *err = NULL;
>  
> -    qdev_realize(vdev, BUS(&ccw_dev->bus), &err);
> -    if (err) {
> +    if (!qdev_realize(vdev, BUS(&ccw_dev->bus), &err)) {
>          error_propagate(errp, err);
>          return;
>      }
> diff --git a/hw/scsi/scsi-bus.c b/hw/scsi/scsi-bus.c
> index b878a08080..365d09fb48 100644
> --- a/hw/scsi/scsi-bus.c
> +++ b/hw/scsi/scsi-bus.c
> @@ -293,8 +293,7 @@ SCSIDevice *scsi_bus_legacy_add_drive(SCSIBus *bus, BlockBackend *blk,
>      qdev_prop_set_enum(dev, "rerror", rerror);
>      qdev_prop_set_enum(dev, "werror", werror);
>  
> -    qdev_realize_and_unref(dev, &bus->qbus, &err);
> -    if (err != NULL) {
> +    if (!qdev_realize_and_unref(dev, &bus->qbus, &err)) {
>          error_propagate(errp, err);
>          object_unparent(OBJECT(dev));
>          return NULL;
> diff --git a/hw/sd/aspeed_sdhci.c b/hw/sd/aspeed_sdhci.c
> index 538d3bad3d..2d0d5651e3 100644
> --- a/hw/sd/aspeed_sdhci.c
> +++ b/hw/sd/aspeed_sdhci.c
> @@ -145,8 +145,7 @@ static void aspeed_sdhci_realize(DeviceState *dev, Error **errp)
>              return;
>          }
>  
> -        sysbus_realize(sbd_slot, &err);
> -        if (err) {
> +        if (!sysbus_realize(sbd_slot, &err)) {
>              error_propagate(errp, err);
>              return;
>          }
> diff --git a/hw/sd/ssi-sd.c b/hw/sd/ssi-sd.c
> index 25cec2ddea..0df0edb51d 100644
> --- a/hw/sd/ssi-sd.c
> +++ b/hw/sd/ssi-sd.c
> @@ -266,8 +266,7 @@ static void ssi_sd_realize(SSISlave *d, Error **errp)
>          goto fail;
>      }
>  
> -    qdev_realize_and_unref(carddev, BUS(&s->sdbus), &err);
> -    if (err) {
> +    if (!qdev_realize_and_unref(carddev, BUS(&s->sdbus), &err)) {
>          goto fail;
>      }
>  
> diff --git a/hw/usb/bus.c b/hw/usb/bus.c
> index 957559b18d..ba27afe9f2 100644
> --- a/hw/usb/bus.c
> +++ b/hw/usb/bus.c
> @@ -704,8 +704,7 @@ USBDevice *usbdevice_create(const char *cmdline)
>          error_report("Failed to create USB device '%s'", f->name);
>          return NULL;
>      }
> -    usb_realize_and_unref(dev, bus, &err);
> -    if (err) {
> +    if (!usb_realize_and_unref(dev, bus, &err)) {
>          error_reportf_err(err, "Failed to initialize USB device '%s': ",
>                            f->name);
>          object_unparent(OBJECT(dev));
> diff --git a/hw/virtio/virtio-rng-pci.c b/hw/virtio/virtio-rng-pci.c
> index cf1afb47a6..20ce1b113b 100644
> --- a/hw/virtio/virtio-rng-pci.c
> +++ b/hw/virtio/virtio-rng-pci.c
> @@ -36,8 +36,7 @@ static void virtio_rng_pci_realize(VirtIOPCIProxy *vpci_dev, Error **errp)
>      DeviceState *vdev = DEVICE(&vrng->vdev);
>      Error *err = NULL;
>  
> -    qdev_realize(vdev, BUS(&vpci_dev->bus), &err);
> -    if (err) {
> +    if (!qdev_realize(vdev, BUS(&vpci_dev->bus), &err)) {
>          error_propagate(errp, err);
>          return;
>      }
> diff --git a/qdev-monitor.c b/qdev-monitor.c
> index 22da107484..13a13a811a 100644
> --- a/qdev-monitor.c
> +++ b/qdev-monitor.c
> @@ -676,8 +676,7 @@ DeviceState *qdev_device_add(QemuOpts *opts, Error **errp)
>      }
>  
>      dev->opts = opts;
> -    qdev_realize(DEVICE(dev), bus, &err);
> -    if (err != NULL) {
> +    if (!qdev_realize(DEVICE(dev), bus, &err)) {
>          dev->opts = NULL;
>          goto err_del_dev;
>      }



  reply	other threads:[~2020-07-06 10:21 UTC|newest]

Thread overview: 65+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-07-06  8:09 [PATCH v3 00/44] Less clumsy error checking Markus Armbruster
2020-07-06  8:09 ` [PATCH v3 01/44] error: Improve examples in error.h's big comment Markus Armbruster
2020-07-06 14:33   ` Markus Armbruster
2020-07-06  8:09 ` [PATCH v3 02/44] error: Document Error API usage rules Markus Armbruster
2020-07-06  8:09 ` [PATCH v3 03/44] qdev: Use returned bool to check for qdev_realize() etc. failure Markus Armbruster
2020-07-06 10:08   ` Greg Kurz [this message]
2020-07-06 11:35     ` Markus Armbruster
2020-07-06 14:43       ` Greg Kurz
2020-07-06  8:09 ` [PATCH v3 04/44] macio: Tidy up error handling in macio_newworld_realize() Markus Armbruster
2020-07-06 14:47   ` Greg Kurz
2020-07-06  8:09 ` [PATCH v3 05/44] virtio-crypto-pci: Tidy up virtio_crypto_pci_realize() Markus Armbruster
2020-07-06  8:09 ` [PATCH v3 06/44] qemu-option: Check return value instead of @err where convenient Markus Armbruster
2020-07-06 15:59   ` Greg Kurz
2020-07-06 20:01     ` Markus Armbruster
2020-07-07  8:25       ` Greg Kurz
2020-07-06  8:09 ` [PATCH v3 07/44] qemu-option: Make uses of find_desc_by_name() more similar Markus Armbruster
2020-07-07  8:26   ` Greg Kurz
2020-07-06  8:09 ` [PATCH v3 08/44] qemu-option: Factor out helper find_default_by_name() Markus Armbruster
2020-07-07  8:47   ` Greg Kurz
2020-07-06  8:09 ` [PATCH v3 09/44] qemu-option: Simplify around find_default_by_name() Markus Armbruster
2020-07-06  8:09 ` [PATCH v3 10/44] qemu-option: Factor out helper opt_create() Markus Armbruster
2020-07-06  8:09 ` [PATCH v3 11/44] qemu-option: Replace opt_set() by cleaner opt_validate() Markus Armbruster
2020-07-06  8:09 ` [PATCH v3 12/44] qemu-option: Make functions taking Error ** return bool, not void Markus Armbruster
2020-07-06  8:09 ` [PATCH v3 13/44] qemu-option: Use returned bool to check for failure Markus Armbruster
2020-07-06  8:09 ` [PATCH v3 14/44] block: Avoid error accumulation in bdrv_img_create() Markus Armbruster
2020-07-06  8:09 ` [PATCH v3 15/44] hmp: Eliminate a variable in hmp_migrate_set_parameter() Markus Armbruster
2020-07-06  8:09 ` [PATCH v3 16/44] qapi: Make visitor functions taking Error ** return bool, not void Markus Armbruster
2020-07-06  8:09 ` [PATCH v3 17/44] qapi: Use returned bool to check for failure, Coccinelle part Markus Armbruster
2020-07-06  8:09 ` [PATCH v3 18/44] qapi: Use returned bool to check for failure, manual part Markus Armbruster
2020-07-06  8:09 ` [PATCH v3 19/44] s390x/pci: Fix harmless mistake in zpci's property fid's setter Markus Armbruster
2020-07-06  8:09 ` [PATCH v3 20/44] qom: Use error_reportf_err() instead of g_printerr() in examples Markus Armbruster
2020-07-06  8:09 ` [PATCH v3 21/44] qom: Rename qdev_get_type() to object_get_type() Markus Armbruster
2020-07-06  8:09 ` [PATCH v3 22/44] qom: Crash more nicely on object_property_get_link() failure Markus Armbruster
2020-07-06  8:09 ` [PATCH v3 23/44] qom: Don't handle impossible " Markus Armbruster
2020-07-06  8:09 ` [PATCH v3 24/44] qom: Use return values to check for error where that's simpler Markus Armbruster
2020-07-06 11:23   ` Vladimir Sementsov-Ogievskiy
2020-07-06  8:09 ` [PATCH v3 25/44] qom: Put name parameter before value / visitor parameter Markus Armbruster
2020-07-06 15:19   ` Vladimir Sementsov-Ogievskiy
2020-07-06  8:09 ` [PATCH v3 26/44] qom: Make functions taking Error ** return bool, not void Markus Armbruster
2020-07-06 15:44   ` Vladimir Sementsov-Ogievskiy
2020-07-06  8:09 ` [PATCH v3 27/44] qom: Use returned bool to check for failure, Coccinelle part Markus Armbruster
2020-07-06 16:08   ` Vladimir Sementsov-Ogievskiy
2020-07-06  8:09 ` [PATCH v3 28/44] qom: Use returned bool to check for failure, manual part Markus Armbruster
2020-07-06 16:39   ` Vladimir Sementsov-Ogievskiy
2020-07-06  8:09 ` [PATCH v3 29/44] qom: Make functions taking Error ** return bool, not 0/-1 Markus Armbruster
2020-07-06 16:52   ` Vladimir Sementsov-Ogievskiy
2020-07-06 20:07     ` Markus Armbruster
2020-07-06  8:09 ` [PATCH v3 30/44] qdev: Make functions taking Error ** return bool, not void Markus Armbruster
2020-07-06 16:58   ` Vladimir Sementsov-Ogievskiy
2020-07-06  8:09 ` [PATCH v3 31/44] qdev: Use returned bool to check for failure, Coccinelle part Markus Armbruster
2020-07-06  8:09 ` [PATCH v3 32/44] error: Avoid unnecessary error_propagate() after error_setg() Markus Armbruster
2020-07-06  8:09 ` [PATCH v3 33/44] error: Eliminate error_propagate() with Coccinelle, part 1 Markus Armbruster
2020-07-06  8:09 ` [PATCH v3 34/44] error: Eliminate error_propagate() with Coccinelle, part 2 Markus Armbruster
2020-07-06  8:09 ` [PATCH v3 35/44] error: Eliminate error_propagate() manually Markus Armbruster
2020-07-06  8:09 ` [PATCH v3 36/44] error: Reduce unnecessary error propagation Markus Armbruster
2020-07-06  8:09 ` [PATCH v3 37/44] block/parallels: Simplify parallels_open() after previous commit Markus Armbruster
2020-07-06  8:09 ` [PATCH v3 38/44] qapi: Smooth another visitor error checking pattern Markus Armbruster
2020-07-06  8:09 ` [PATCH v3 39/44] qapi: Smooth visitor error checking in generated code Markus Armbruster
2020-07-06  8:09 ` [PATCH v3 40/44] qapi: Purge error_propagate() from QAPI core Markus Armbruster
2020-07-06  8:09 ` [PATCH v3 41/44] error: Avoid error_propagate() after migrate_add_blocker() Markus Armbruster
2020-07-06  8:09 ` [PATCH v3 42/44] qemu-img: Ignore Error objects where the return value suffices Markus Armbruster
2020-07-06  8:09 ` [PATCH v3 43/44] qdev: " Markus Armbruster
2020-07-06  8:09 ` [PATCH v3 44/44] hmp: " Markus Armbruster
2020-07-06  8:12 ` [PATCH v3 00/44] Less clumsy error checking Markus Armbruster
2020-07-06 13:44   ` Eric Blake

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20200706120718.70c37bc0@bahia.lan \
    --to=groug@kaod.org \
    --cc=armbru@redhat.com \
    --cc=berrange@redhat.com \
    --cc=ehabkost@redhat.com \
    --cc=pbonzini@redhat.com \
    --cc=peter.maydell@linaro.org \
    --cc=qemu-block@nongnu.org \
    --cc=qemu-devel@nongnu.org \
    --cc=vsementsov@virtuozzo.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.