Skip to content

Commit

Permalink
qdev: Use returned bool to check for qdev_realize() etc. failure
Browse files Browse the repository at this point in the history
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>
Reviewed-by: Greg Kurz <groug@kaod.org>
Message-Id: <20200707160613.848843-5-armbru@redhat.com>
  • Loading branch information
Markus Armbruster committed Jul 10, 2020
1 parent e3fe398 commit 118bfd7
Show file tree
Hide file tree
Showing 65 changed files with 248 additions and 495 deletions.
15 changes: 5 additions & 10 deletions hw/arm/allwinner-a10.c
Original file line number Diff line number Diff line change
Expand Up @@ -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;
}
Expand All @@ -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;
}
Expand All @@ -117,17 +114,15 @@ 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;
}
sysbusdev = SYS_BUS_DEVICE(&s->emac);
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;
}
Expand Down
78 changes: 26 additions & 52 deletions hw/arm/armsse.c
Original file line number Diff line number Diff line change
Expand Up @@ -565,8 +565,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;
}
Expand All @@ -576,8 +575,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;
}
Expand Down Expand Up @@ -612,8 +610,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;
}
Expand Down Expand Up @@ -645,8 +642,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;
}
Expand All @@ -668,8 +664,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;
}
Expand All @@ -692,8 +687,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;
}
Expand All @@ -715,8 +709,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;
}
Expand All @@ -734,8 +727,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;
}
Expand All @@ -746,8 +738,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;
}
Expand All @@ -758,8 +749,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;
}
Expand All @@ -784,8 +774,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;
}
Expand All @@ -811,8 +800,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;
}
Expand Down Expand Up @@ -860,8 +848,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;
}
Expand All @@ -883,8 +870,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;
}
Expand All @@ -901,8 +887,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;
}
Expand All @@ -916,8 +901,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;
}
Expand All @@ -932,8 +916,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;
}
Expand All @@ -943,8 +926,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;
}
Expand Down Expand Up @@ -981,8 +963,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;
}
Expand All @@ -997,8 +978,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;
}
Expand Down Expand Up @@ -1032,17 +1012,15 @@ 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;
}
qdev_connect_gpio_out(DEVICE(&s->nmi_orgate), 0,
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;
}
Expand All @@ -1053,8 +1031,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;
}
Expand All @@ -1063,8 +1040,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;
}
Expand All @@ -1080,8 +1056,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;
}
Expand Down Expand Up @@ -1127,8 +1102,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;
}
Expand Down
9 changes: 3 additions & 6 deletions hw/arm/armv7m.c
Original file line number Diff line number Diff line change
Expand Up @@ -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;
}
Expand Down Expand Up @@ -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;
}
Expand Down
Loading

0 comments on commit 118bfd7

Please sign in to comment.