]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
gpio: viperboard: normalize return value of gpio_get
authorDmitry Torokhov <dmitry.torokhov@gmail.com>
Wed, 18 Feb 2026 19:06:56 +0000 (11:06 -0800)
committerBartosz Golaszewski <bartosz.golaszewski@oss.qualcomm.com>
Mon, 23 Feb 2026 09:41:43 +0000 (10:41 +0100)
The GPIO get callback is expected to return 0 or 1 (or a negative error
code). Ensure that the value returned by vprbrd_gpiob_get() in the output
case is normalized to the [0, 1] range.

Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
Link: https://patch.msgid.link/20260218190657.2974723-7-dmitry.torokhov@gmail.com
Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@oss.qualcomm.com>
drivers/gpio/gpio-viperboard.c

index 15e495c109d2abc23c03a1cd1da2c02a2debb11b..89087fd48a8192f393c4931d203a2db24d4730d7 100644 (file)
@@ -288,7 +288,7 @@ static int vprbrd_gpiob_get(struct gpio_chip *chip,
 
        /* if io is set to output, just return the saved value */
        if (gpio->gpiob_out & (1 << offset))
-               return gpio->gpiob_val & (1 << offset);
+               return !!(gpio->gpiob_val & (1 << offset));
 
        mutex_lock(&vb->lock);