[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH 42/46] qdev: Smooth error checking with Coccinelle
From: |
Markus Armbruster |
Subject: |
[PATCH 42/46] qdev: Smooth error checking with Coccinelle |
Date: |
Wed, 24 Jun 2020 18:43:40 +0200 |
The previous commit enables conversion of
qdev_prop_set_drive_err(..., &err);
if (err) {
...
}
to
if (!qdev_prop_set_drive_err(..., errp)) {
...
}
Coccinelle script:
@@
identifier fun = qdev_prop_set_drive_err;
expression list args, args2;
typedef Error;
Error *err;
identifier errp;
@@
- fun(args, &err, args2);
- if (err) {
+ if (!fun(args, errp, args2)) {
... when != err
- error_propagate(errp, err);
...
}
@@
identifier fun = qdev_prop_set_drive_err;
expression list args, args2;
typedef Error;
Error *err;
@@
- fun(args, &err, args2);
- if (err) {
+ if (!fun(args, &err, args2)) {
...
}
Eliminate error_propagate() that are now unnecessary. Delete @err
that are now unused. Tidy up line breaks and whitespace.
Signed-off-by: Markus Armbruster <armbru@redhat.com>
---
hw/scsi/scsi-bus.c | 5 +----
hw/sd/sd.c | 3 +--
hw/sd/ssi-sd.c | 5 ++---
3 files changed, 4 insertions(+), 9 deletions(-)
diff --git a/hw/scsi/scsi-bus.c b/hw/scsi/scsi-bus.c
index b937df16bc..df65cc2223 100644
--- a/hw/scsi/scsi-bus.c
+++ b/hw/scsi/scsi-bus.c
@@ -248,7 +248,6 @@ SCSIDevice *scsi_bus_legacy_add_drive(SCSIBus *bus,
BlockBackend *blk,
const char *driver;
char *name;
DeviceState *dev;
- Error *err = NULL;
DriveInfo *dinfo;
if (blk_is_sg(blk)) {
@@ -277,9 +276,7 @@ SCSIDevice *scsi_bus_legacy_add_drive(SCSIBus *bus,
BlockBackend *blk,
if (serial && object_property_find(OBJECT(dev), "serial", NULL)) {
qdev_prop_set_string(dev, "serial", serial);
}
- qdev_prop_set_drive_err(dev, "drive", blk, &err);
- if (err) {
- error_propagate(errp, err);
+ if (!qdev_prop_set_drive_err(dev, "drive", blk, errp)) {
object_unparent(OBJECT(dev));
return NULL;
}
diff --git a/hw/sd/sd.c b/hw/sd/sd.c
index 97a9d32964..5137168d66 100644
--- a/hw/sd/sd.c
+++ b/hw/sd/sd.c
@@ -706,8 +706,7 @@ SDState *sd_init(BlockBackend *blk, bool is_spi)
obj = object_new(TYPE_SD_CARD);
dev = DEVICE(obj);
- qdev_prop_set_drive_err(dev, "drive", blk, &err);
- if (err) {
+ if (!qdev_prop_set_drive_err(dev, "drive", blk, &err)) {
error_reportf_err(err, "sd_init failed: ");
return NULL;
}
diff --git a/hw/sd/ssi-sd.c b/hw/sd/ssi-sd.c
index 4d91f603fa..e0fb9f3093 100644
--- a/hw/sd/ssi-sd.c
+++ b/hw/sd/ssi-sd.c
@@ -254,9 +254,8 @@ static void ssi_sd_realize(SSISlave *d, Error **errp)
dinfo = drive_get_next(IF_SD);
carddev = qdev_new(TYPE_SD_CARD);
if (dinfo) {
- qdev_prop_set_drive_err(carddev, "drive", blk_by_legacy_dinfo(dinfo),
- &err);
- if (err) {
+ if (!qdev_prop_set_drive_err(carddev, "drive",
+ blk_by_legacy_dinfo(dinfo), &err)) {
goto fail;
}
}
--
2.26.2
- [PATCH 41/46] qdev: Make functions taking Error ** return bool, not void, (continued)
- [PATCH 41/46] qdev: Make functions taking Error ** return bool, not void, Markus Armbruster, 2020/06/24
- [PATCH 19/46] block: Avoid unnecessary error_propagate() after error_setg(), Markus Armbruster, 2020/06/24
- [PATCH 36/46] qom: Put name parameter before value / visitor parameter, Markus Armbruster, 2020/06/24
- [PATCH 22/46] qapi: Make visitor functions taking Error ** return bool, not void, Markus Armbruster, 2020/06/24
- [PATCH 42/46] qdev: Smooth error checking with Coccinelle,
Markus Armbruster <=
- Re: [PATCH 00/46] Less clumsy error checking, Paolo Bonzini, 2020/06/24