diff mbox series

[07/16] vfio/ccw: Make vfio_ccw_get_region() return a bool

Message ID 20240515082041.556571-8-zhenzhong.duan@intel.com
State New
Headers show
Series VFIO: misc cleanups part2 | expand

Commit Message

Duan, Zhenzhong May 15, 2024, 8:20 a.m. UTC
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(-)

Comments

Cédric Le Goater May 21, 2024, 12:34 p.m. UTC | #1
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 mbox series

Patch

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;
     }