Re: [PATCH] platform/x86: barco-p50-gpio: normalize return value of gpio_get
From: Dmitry Torokhov
Date: Tue Mar 10 2026 - 02:18:53 EST
On Mon, Feb 23, 2026 at 04:11:10PM +0200, Ilpo Järvinen wrote:
> On Wed, 18 Feb 2026, Dmitry Torokhov wrote:
>
> > The GPIO get callback is expected to return 0 or 1 (or a negative error
> > code). Ensure that the value returned by p50_gpio_get() is normalized
> > to the [0, 1] range.
> >
> > Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx>
> > ---
> > drivers/platform/x86/barco-p50-gpio.c | 5 ++++-
> > 1 file changed, 4 insertions(+), 1 deletion(-)
> >
> > diff --git a/drivers/platform/x86/barco-p50-gpio.c b/drivers/platform/x86/barco-p50-gpio.c
> > index 6f13e81f98fb..360ffd8505d6 100644
> > --- a/drivers/platform/x86/barco-p50-gpio.c
> > +++ b/drivers/platform/x86/barco-p50-gpio.c
> > @@ -275,8 +275,11 @@ static int p50_gpio_get(struct gpio_chip *gc, unsigned int offset)
> > mutex_lock(&p50->lock);
> >
> > ret = p50_send_mbox_cmd(p50, P50_MBOX_CMD_READ_GPIO, gpio_params[offset], 0);
> > - if (ret == 0)
> > + if (ret == 0) {
> > ret = p50_read_mbox_reg(p50, P50_MBOX_REG_DATA);
> > + if (ret >= 0)
> > + ret = !!ret;
> > + }
> >
> > mutex_unlock(&p50->lock);
>
> A simpler flow would be preferrable over all that nesting. Is this
> logically correct:
>
> guard(mutex)(p50->lock);
> ret = p50_send_mbox_cmd(p50, P50_MBOX_CMD_READ_GPIO, gpio_params[offset], 0);
> if (ret < 0)
> return ret;
>
> ret = p50_read_mbox_reg(p50, P50_MBOX_REG_DATA);
> if (ret < 0)
> return ret;
>
> return !!ret;
Yes, but I wanted to minimize the amount of change. Maybe I should send
a followup patch converting to guard()?
Thanks.
--
Dmitry