From: "Cédric Le Goater" <clg@redhat.com>
To: Zhenzhong Duan <zhenzhong.duan@intel.com>, qemu-devel@nongnu.org
Cc: alex.williamson@redhat.com, eric.auger@redhat.com, chao.p.peng@intel.com
Subject: Re: [PATCH 06/16] vfio/platform: Make vfio_populate_device() and vfio_base_device_init() return bool
Date: Tue, 21 May 2024 14:27:21 +0200 [thread overview]
Message-ID: <b27ee071-2bab-488e-a800-34d5f992a937@redhat.com> (raw)
In-Reply-To: <20240515082041.556571-7-zhenzhong.duan@intel.com>
On 5/15/24 10:20, Zhenzhong Duan wrote:
> This is to follow the coding standand in qapi/error.h to return bool
> for bool-valued functions.
>
> Suggested-by: Cédric Le Goater <clg@redhat.com>
> Signed-off-by: Zhenzhong Duan <zhenzhong.duan@intel.com>
Reviewed-by: Cédric Le Goater <clg@redhat.com>
Thanks,
C.
> ---
> hw/vfio/platform.c | 40 +++++++++++++++++-----------------------
> 1 file changed, 17 insertions(+), 23 deletions(-)
>
> diff --git a/hw/vfio/platform.c b/hw/vfio/platform.c
> index e1a32863d9..a85c199c76 100644
> --- a/hw/vfio/platform.c
> +++ b/hw/vfio/platform.c
> @@ -441,7 +441,7 @@ static int vfio_platform_hot_reset_multi(VFIODevice *vbasedev)
> * @errp: error object
> *
> */
> -static int vfio_populate_device(VFIODevice *vbasedev, Error **errp)
> +static bool vfio_populate_device(VFIODevice *vbasedev, Error **errp)
> {
> VFIOINTp *intp, *tmp;
> int i, ret = -1;
> @@ -450,7 +450,7 @@ static int vfio_populate_device(VFIODevice *vbasedev, Error **errp)
>
> if (!(vbasedev->flags & VFIO_DEVICE_FLAGS_PLATFORM)) {
> error_setg(errp, "this isn't a platform device");
> - return ret;
> + return false;
> }
>
> vdev->regions = g_new0(VFIORegion *, vbasedev->num_regions);
> @@ -487,12 +487,11 @@ static int vfio_populate_device(VFIODevice *vbasedev, Error **errp)
> irq.flags);
> intp = vfio_init_intp(vbasedev, irq, errp);
> if (!intp) {
> - ret = -1;
> goto irq_err;
> }
> }
> }
> - return 0;
> + return true;
> irq_err:
> timer_del(vdev->mmap_timer);
> QLIST_FOREACH_SAFE(intp, &vdev->intp_list, next, tmp) {
> @@ -507,7 +506,7 @@ reg_error:
> g_free(vdev->regions[i]);
> }
> g_free(vdev->regions);
> - return ret;
> + return false;
> }
>
> /* specialized functions for VFIO Platform devices */
> @@ -527,10 +526,8 @@ static VFIODeviceOps vfio_platform_ops = {
> * fd retrieval, resource query.
> * Precondition: the device name must be initialized
> */
> -static int vfio_base_device_init(VFIODevice *vbasedev, Error **errp)
> +static bool vfio_base_device_init(VFIODevice *vbasedev, Error **errp)
> {
> - int ret;
> -
> /* @fd takes precedence over @sysfsdev which takes precedence over @host */
> if (vbasedev->fd < 0 && vbasedev->sysfsdev) {
> g_free(vbasedev->name);
> @@ -538,7 +535,7 @@ static int vfio_base_device_init(VFIODevice *vbasedev, Error **errp)
> } else if (vbasedev->fd < 0) {
> if (!vbasedev->name || strchr(vbasedev->name, '/')) {
> error_setg(errp, "wrong host device name");
> - return -EINVAL;
> + return false;
> }
>
> vbasedev->sysfsdev = g_strdup_printf("/sys/bus/platform/devices/%s",
> @@ -546,20 +543,20 @@ static int vfio_base_device_init(VFIODevice *vbasedev, Error **errp)
> }
>
> if (!vfio_device_get_name(vbasedev, errp)) {
> - return -EINVAL;
> + return false;
> }
>
> if (!vfio_attach_device(vbasedev->name, vbasedev,
> &address_space_memory, errp)) {
> - return -EINVAL;
> + return false;
> }
>
> - ret = vfio_populate_device(vbasedev, errp);
> - if (ret) {
> - vfio_detach_device(vbasedev);
> + if (vfio_populate_device(vbasedev, errp)) {
> + return true;
> }
>
> - return ret;
> + vfio_detach_device(vbasedev);
> + return false;
> }
>
> /**
> @@ -576,7 +573,7 @@ static void vfio_platform_realize(DeviceState *dev, Error **errp)
> VFIOPlatformDevice *vdev = VFIO_PLATFORM_DEVICE(dev);
> SysBusDevice *sbdev = SYS_BUS_DEVICE(dev);
> VFIODevice *vbasedev = &vdev->vbasedev;
> - int i, ret;
> + int i;
>
> qemu_mutex_init(&vdev->intp_mutex);
>
> @@ -584,9 +581,8 @@ static void vfio_platform_realize(DeviceState *dev, Error **errp)
> vbasedev->sysfsdev : vbasedev->name,
> vdev->compat);
>
> - ret = vfio_base_device_init(vbasedev, errp);
> - if (ret) {
> - goto out;
> + if (!vfio_base_device_init(vbasedev, errp)) {
> + goto init_err;
> }
>
> if (!vdev->compat) {
> @@ -618,11 +614,9 @@ static void vfio_platform_realize(DeviceState *dev, Error **errp)
> }
> sysbus_init_mmio(sbdev, vdev->regions[i]->mem);
> }
> -out:
> - if (!ret) {
> - return;
> - }
> + return;
>
> +init_err:
> if (vdev->vbasedev.name) {
> error_prepend(errp, VFIO_MSG_PREFIX, vdev->vbasedev.name);
> } else {
next prev parent reply other threads:[~2024-05-21 12:27 UTC|newest]
Thread overview: 39+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-05-15 8:20 [PATCH 00/16] VFIO: misc cleanups part2 Zhenzhong Duan
2024-05-15 8:20 ` [PATCH 01/16] vfio/display: Fix error path in call site of ramfb_setup() Zhenzhong Duan
2024-05-21 12:09 ` Cédric Le Goater
2024-05-15 8:20 ` [PATCH 02/16] vfio/display: Make vfio_display_*() return bool Zhenzhong Duan
2024-05-21 12:14 ` Cédric Le Goater
2024-05-22 4:45 ` Duan, Zhenzhong
2024-05-15 8:20 ` [PATCH 03/16] vfio/helpers: Use g_autofree in hw/vfio/helpers.c Zhenzhong Duan
2024-05-21 12:19 ` Cédric Le Goater
2024-05-15 8:20 ` [PATCH 04/16] vfio/helpers: Make vfio_set_irq_signaling() return bool Zhenzhong Duan
2024-05-21 12:24 ` Cédric Le Goater
2024-05-24 13:16 ` Anthony Krowiak
2024-05-27 3:18 ` Duan, Zhenzhong
2024-05-15 8:20 ` [PATCH 05/16] vfio/helpers: Make vfio_device_get_name() " Zhenzhong Duan
2024-05-21 12:25 ` Cédric Le Goater
2024-05-24 13:16 ` Anthony Krowiak
2024-05-15 8:20 ` [PATCH 06/16] vfio/platform: Make vfio_populate_device() and vfio_base_device_init() " Zhenzhong Duan
2024-05-21 12:27 ` Cédric Le Goater [this message]
2024-05-15 8:20 ` [PATCH 07/16] vfio/ccw: Make vfio_ccw_get_region() return a bool Zhenzhong Duan
2024-05-21 12:34 ` Cédric Le Goater
2024-05-15 8:20 ` [PATCH 08/16] vfio/pci: Make vfio_intx_enable_kvm() " Zhenzhong Duan
2024-05-21 12:36 ` Cédric Le Goater
2024-05-15 8:20 ` [PATCH 09/16] vfio/pci: Make vfio_pci_relocate_msix() and vfio_msix_early_setup() " Zhenzhong Duan
2024-05-21 12:38 ` Cédric Le Goater
2024-05-15 8:20 ` [PATCH 10/16] vfio/pci: Make vfio_populate_device() " Zhenzhong Duan
2024-05-21 12:39 ` Cédric Le Goater
2024-05-15 8:20 ` [PATCH 11/16] vfio/pci: Make vfio_intx_enable() return bool Zhenzhong Duan
2024-05-21 12:42 ` Cédric Le Goater
2024-05-15 8:20 ` [PATCH 12/16] vfio/pci: Make vfio_populate_vga() " Zhenzhong Duan
2024-05-21 12:44 ` Cédric Le Goater
2024-05-15 8:20 ` [PATCH 13/16] vfio/pci: Make capability related functions " Zhenzhong Duan
2024-05-21 12:54 ` Cédric Le Goater
2024-05-15 8:20 ` [PATCH 14/16] vfio/pci: Use g_autofree for vfio_region_info pointer Zhenzhong Duan
2024-05-21 12:48 ` Cédric Le Goater
2024-05-15 8:20 ` [PATCH 15/16] vfio/pci-quirks: Make vfio_pci_igd_opregion_init() return bool Zhenzhong Duan
2024-05-21 12:48 ` Cédric Le Goater
2024-05-15 8:20 ` [PATCH 16/16] vfio/pci-quirks: Make vfio_add_*_cap() " Zhenzhong Duan
2024-05-21 12:54 ` Cédric Le Goater
2024-05-16 16:48 ` [PATCH 00/16] VFIO: misc cleanups part2 Cédric Le Goater
2024-05-17 9:25 ` Duan, Zhenzhong
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=b27ee071-2bab-488e-a800-34d5f992a937@redhat.com \
--to=clg@redhat.com \
--cc=alex.williamson@redhat.com \
--cc=chao.p.peng@intel.com \
--cc=eric.auger@redhat.com \
--cc=qemu-devel@nongnu.org \
--cc=zhenzhong.duan@intel.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).