All of lore.kernel.org
 help / color / mirror / Atom feed
From: Markus Armbruster <armbru@redhat.com>
To: "Cédric Le Goater" <clg@redhat.com>
Cc: Thomas Huth <thuth@redhat.com>,
	 Eric Farman <farman@linux.ibm.com>,
	Matthew Rosato <mjrosato@linux.ibm.com>,
	 Alex Williamson <alex.williamson@redhat.com>,
	 qemu-s390x@nongnu.org, qemu-devel@nongnu.org
Subject: Re: [PATCH v2 4/4] vfio/ccw: Make vfio_ccw_register_irq_notifier() return a bool
Date: Thu, 25 Apr 2024 12:56:44 +0200	[thread overview]
Message-ID: <87il056783.fsf@pond.sub.org> (raw)
In-Reply-To: <20240425090214.400194-5-clg@redhat.com> ("Cédric Le Goater"'s message of "Thu, 25 Apr 2024 11:02:14 +0200")

Cédric Le Goater <clg@redhat.com> writes:

> Since vfio_ccw_register_irq_notifier() takes an 'Error **' argument,
> best practices suggest to return a bool. See the qapi/error.h Rules
> section.
>
> Signed-off-by: Cédric Le Goater <clg@redhat.com>
> ---
>  hw/vfio/ccw.c | 22 +++++++++++-----------
>  1 file changed, 11 insertions(+), 11 deletions(-)
>
> diff --git a/hw/vfio/ccw.c b/hw/vfio/ccw.c
> index 6764388bc47a970329fce2233626ccb8178e0165..1c630f6e9abe93ae0c2b5615d4409669f096c8c9 100644
> --- a/hw/vfio/ccw.c
> +++ b/hw/vfio/ccw.c
> @@ -379,7 +379,7 @@ read_err:
>      css_inject_io_interrupt(sch);
>  }
>  
> -static void vfio_ccw_register_irq_notifier(VFIOCCWDevice *vcdev,
> +static bool vfio_ccw_register_irq_notifier(VFIOCCWDevice *vcdev,
>                                             unsigned int irq,
>                                             Error **errp)
>  {
> @@ -405,13 +405,13 @@ static void vfio_ccw_register_irq_notifier(VFIOCCWDevice *vcdev,
>          break;
>      default:
>          error_setg(errp, "vfio: Unsupported device irq(%d)", irq);
> -        return;
> +        return false;
>      }
>  
>      if (vdev->num_irqs < irq + 1) {
>          error_setg(errp, "vfio: IRQ %u not available (number of irqs %u)",
>                     irq, vdev->num_irqs);
> -        return;
> +        return false;
>      }
>  
>      argsz = sizeof(*irq_info);
> @@ -421,14 +421,14 @@ static void vfio_ccw_register_irq_notifier(VFIOCCWDevice *vcdev,
>      if (ioctl(vdev->fd, VFIO_DEVICE_GET_IRQ_INFO,
>                irq_info) < 0 || irq_info->count < 1) {
>          error_setg_errno(errp, errno, "vfio: Error getting irq info");
> -        return;
> +        return false;
>      }
>  
>      if (event_notifier_init(notifier, 0)) {
>          error_setg_errno(errp, errno,
>                           "vfio: Unable to init event notifier for irq (%d)",
>                           irq);
> -        return;
> +        return false;
>      }
>  
>      fd = event_notifier_get_fd(notifier);
> @@ -439,6 +439,8 @@ static void vfio_ccw_register_irq_notifier(VFIOCCWDevice *vcdev,
>          qemu_set_fd_handler(fd, NULL, NULL, vcdev);
>          event_notifier_cleanup(notifier);
>      }
> +
> +    return true;
>  }
>  
>  static void vfio_ccw_unregister_irq_notifier(VFIOCCWDevice *vcdev,
> @@ -602,20 +604,18 @@ static void vfio_ccw_realize(DeviceState *dev, Error **errp)
>          goto out_region_err;
>      }
>  
> -    vfio_ccw_register_irq_notifier(vcdev, VFIO_CCW_IO_IRQ_INDEX, &err);
> -    if (err) {
> +    if (!vfio_ccw_register_irq_notifier(vcdev, VFIO_CCW_IO_IRQ_INDEX, &err)) {

Please pass errp instead of &err.

>          goto out_io_notifier_err;
>      }
>  
>      if (vcdev->crw_region) {
> -        vfio_ccw_register_irq_notifier(vcdev, VFIO_CCW_CRW_IRQ_INDEX, &err);
> -        if (err) {
> +        if (!vfio_ccw_register_irq_notifier(vcdev, VFIO_CCW_CRW_IRQ_INDEX,
> +                                            &err)) {

Likewise.

>              goto out_irq_notifier_err;
>          }
>      }
>  
> -    vfio_ccw_register_irq_notifier(vcdev, VFIO_CCW_REQ_IRQ_INDEX, &err);
> -    if (err) {
> +    if (!vfio_ccw_register_irq_notifier(vcdev, VFIO_CCW_REQ_IRQ_INDEX, &err)) {
>          /*
>           * Report this error, but do not make it a failing condition.
>           * Lack of this IRQ in the host does not prevent normal operation.
            */
           error_report_err(err);

Not this patch's problem, but here goes anyway: since this isn't an
error, we shouldn't use error_report_err().  Would warn_report_err() be
appropriate?  info_report_err() doesn't exist, but it could.

Preferably with errp instead of &err (two times):
Reviewed-by: Markus Armbruster <armbru@redhat.com>



  reply	other threads:[~2024-04-25 10:57 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <20240425090214.400194-1-clg@redhat.com>
2024-04-25  9:02 ` [PATCH v2 1/4] vfio/ap: Use g_autofree variable in vfio_ap_register_irq_notifier() Cédric Le Goater
2024-04-25 10:51   ` Markus Armbruster
2024-04-26 16:19   ` Anthony Krowiak
2024-05-16 16:28   ` Cédric Le Goater
2024-04-25  9:02 ` [PATCH v2 2/4] vfio/ap: Make vfio_ap_register_irq_notifier() return a bool Cédric Le Goater
2024-04-25 10:53   ` Markus Armbruster
2024-04-25  9:02 ` [PATCH v2 3/4] vfio/ccw: Use g_autofree variable in vfio_ccw_register_irq_notifier() Cédric Le Goater
2024-04-25 10:54   ` Markus Armbruster
2024-04-25 12:31   ` Eric Farman
2024-04-25  9:02 ` [PATCH v2 4/4] vfio/ccw: Make vfio_ccw_register_irq_notifier() return a bool Cédric Le Goater
2024-04-25 10:56   ` Markus Armbruster [this message]
2024-04-25 12:55     ` Eric Farman
2024-04-25 15:52       ` Cédric Le Goater

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=87il056783.fsf@pond.sub.org \
    --to=armbru@redhat.com \
    --cc=alex.williamson@redhat.com \
    --cc=clg@redhat.com \
    --cc=farman@linux.ibm.com \
    --cc=mjrosato@linux.ibm.com \
    --cc=qemu-devel@nongnu.org \
    --cc=qemu-s390x@nongnu.org \
    --cc=thuth@redhat.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.