Message ID | 20240515082041.556571-8-zhenzhong.duan@intel.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | VFIO: misc cleanups part2 | expand |
On 5/15/24 10:20, Zhenzhong Duan wrote: > Since vfio_populate_device() takes an 'Error **' argument, > best practices suggest to return a bool. See the qapi/error.h > Rules section. > > Signed-off-by: Zhenzhong Duan <zhenzhong.duan@intel.com> Reviewed-by: Cédric Le Goater <clg@redhat.com> One comment below > --- > hw/vfio/ccw.c | 15 +++++++-------- > 1 file changed, 7 insertions(+), 8 deletions(-) > > diff --git a/hw/vfio/ccw.c b/hw/vfio/ccw.c > index 8850ca17c8..2600e62e37 100644 > --- a/hw/vfio/ccw.c > +++ b/hw/vfio/ccw.c > @@ -474,7 +474,7 @@ static void vfio_ccw_unregister_irq_notifier(VFIOCCWDevice *vcdev, > event_notifier_cleanup(notifier); > } > > -static void vfio_ccw_get_region(VFIOCCWDevice *vcdev, Error **errp) > +static bool vfio_ccw_get_region(VFIOCCWDevice *vcdev, Error **errp) > { > VFIODevice *vdev = &vcdev->vdev; > struct vfio_region_info *info; > @@ -483,7 +483,7 @@ static void vfio_ccw_get_region(VFIOCCWDevice *vcdev, Error **errp) > /* Sanity check device */ > if (!(vdev->flags & VFIO_DEVICE_FLAGS_CCW)) { > error_setg(errp, "vfio: Um, this isn't a vfio-ccw device"); > - return; > + return false; > } > > /* > @@ -493,13 +493,13 @@ static void vfio_ccw_get_region(VFIOCCWDevice *vcdev, Error **errp) > if (vdev->num_regions < VFIO_CCW_CONFIG_REGION_INDEX + 1) { > error_setg(errp, "vfio: too few regions (%u), expected at least %u", > vdev->num_regions, VFIO_CCW_CONFIG_REGION_INDEX + 1); > - return; > + return false; > } > > ret = vfio_get_region_info(vdev, VFIO_CCW_CONFIG_REGION_INDEX, &info); > if (ret) { > error_setg_errno(errp, -ret, "vfio: Error getting config info"); > - return; > + return false; > } > > vcdev->io_region_size = info->size; > @@ -553,7 +553,7 @@ static void vfio_ccw_get_region(VFIOCCWDevice *vcdev, Error **errp) > g_free(info); > } > > - return; > + return true; > > out_err: > g_free(vcdev->crw_region); > @@ -561,7 +561,7 @@ out_err: > g_free(vcdev->async_cmd_region); > g_free(vcdev->io_region); > g_free(info); > - return; > + return false; > } > > static void vfio_ccw_put_region(VFIOCCWDevice *vcdev) > @@ -597,8 +597,7 @@ static void vfio_ccw_realize(DeviceState *dev, Error **errp) vfio_ccw_realize() needs a little cleanup to avoid using the local 'Error *err' variable and the error_propagate() call at the end. Thanks, C. > goto out_attach_dev_err; > } > > - vfio_ccw_get_region(vcdev, &err); > - if (err) { > + if (!vfio_ccw_get_region(vcdev, &err)) { > goto out_region_err; > } >
diff --git a/hw/vfio/ccw.c b/hw/vfio/ccw.c index 8850ca17c8..2600e62e37 100644 --- a/hw/vfio/ccw.c +++ b/hw/vfio/ccw.c @@ -474,7 +474,7 @@ static void vfio_ccw_unregister_irq_notifier(VFIOCCWDevice *vcdev, event_notifier_cleanup(notifier); } -static void vfio_ccw_get_region(VFIOCCWDevice *vcdev, Error **errp) +static bool vfio_ccw_get_region(VFIOCCWDevice *vcdev, Error **errp) { VFIODevice *vdev = &vcdev->vdev; struct vfio_region_info *info; @@ -483,7 +483,7 @@ static void vfio_ccw_get_region(VFIOCCWDevice *vcdev, Error **errp) /* Sanity check device */ if (!(vdev->flags & VFIO_DEVICE_FLAGS_CCW)) { error_setg(errp, "vfio: Um, this isn't a vfio-ccw device"); - return; + return false; } /* @@ -493,13 +493,13 @@ static void vfio_ccw_get_region(VFIOCCWDevice *vcdev, Error **errp) if (vdev->num_regions < VFIO_CCW_CONFIG_REGION_INDEX + 1) { error_setg(errp, "vfio: too few regions (%u), expected at least %u", vdev->num_regions, VFIO_CCW_CONFIG_REGION_INDEX + 1); - return; + return false; } ret = vfio_get_region_info(vdev, VFIO_CCW_CONFIG_REGION_INDEX, &info); if (ret) { error_setg_errno(errp, -ret, "vfio: Error getting config info"); - return; + return false; } vcdev->io_region_size = info->size; @@ -553,7 +553,7 @@ static void vfio_ccw_get_region(VFIOCCWDevice *vcdev, Error **errp) g_free(info); } - return; + return true; out_err: g_free(vcdev->crw_region); @@ -561,7 +561,7 @@ out_err: g_free(vcdev->async_cmd_region); g_free(vcdev->io_region); g_free(info); - return; + return false; } static void vfio_ccw_put_region(VFIOCCWDevice *vcdev) @@ -597,8 +597,7 @@ static void vfio_ccw_realize(DeviceState *dev, Error **errp) goto out_attach_dev_err; } - vfio_ccw_get_region(vcdev, &err); - if (err) { + if (!vfio_ccw_get_region(vcdev, &err)) { goto out_region_err; }
Since vfio_populate_device() takes an 'Error **' argument, best practices suggest to return a bool. See the qapi/error.h Rules section. Signed-off-by: Zhenzhong Duan <zhenzhong.duan@intel.com> --- hw/vfio/ccw.c | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-)