]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
platform/x86: barco-p50-gpio: normalize return value of gpio_get
authorDmitry Torokhov <dmitry.torokhov@gmail.com>
Thu, 19 Mar 2026 02:56:17 +0000 (19:56 -0700)
committerIlpo Järvinen <ilpo.jarvinen@linux.intel.com>
Mon, 23 Mar 2026 10:12:02 +0000 (12:12 +0200)
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.

Fixes: 86ef402d805d606a ("gpiolib: sanitize the return value of gpio_chip::get()")
Reviewed-by: Linus Walleij <linusw@kernel.org>
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
Reviewed-by: Bartosz Golaszewski <bartosz.golaszewski@oss.qualcomm.com>
Link: https://patch.msgid.link/20260318-barco-p50-gpio-set-v2-1-c0a4a6416163@gmail.com
Reviewed-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
drivers/platform/x86/barco-p50-gpio.c

index 6f13e81f98fbb2b87ce79a6e2fa1ea7f2772ecf6..360ffd8505d6cdf0cb6263057aebd947fa0ab54c 100644 (file)
@@ -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);