]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
gpio: pch: use new GPIO line value setter callbacks
authorBartosz Golaszewski <bartosz.golaszewski@linaro.org>
Thu, 19 Jun 2025 08:33:16 +0000 (10:33 +0200)
committerBartosz Golaszewski <bartosz.golaszewski@linaro.org>
Mon, 23 Jun 2025 07:25:46 +0000 (09:25 +0200)
struct gpio_chip now has callbacks for setting line values that return
an integer, allowing to indicate failures. Convert the driver to using
them.

Reviewed-by: Andy Shevchenko <andy@kernel.org>
Link: https://lore.kernel.org/r/20250619-gpiochip-set-rv-gpio-v2-3-74abf689fbd8@linaro.org
Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
drivers/gpio/gpio-pch.c

index 63f25c72eac2fb98156eb7682e780247a893d7e7..c6f313342ba06a1386d8ff8a882c9344a9e809e7 100644 (file)
@@ -99,7 +99,7 @@ struct pch_gpio {
        spinlock_t spinlock;
 };
 
-static void pch_gpio_set(struct gpio_chip *gpio, unsigned int nr, int val)
+static int pch_gpio_set(struct gpio_chip *gpio, unsigned int nr, int val)
 {
        u32 reg_val;
        struct pch_gpio *chip = gpiochip_get_data(gpio);
@@ -114,6 +114,8 @@ static void pch_gpio_set(struct gpio_chip *gpio, unsigned int nr, int val)
 
        iowrite32(reg_val, &chip->reg->po);
        spin_unlock_irqrestore(&chip->spinlock, flags);
+
+       return 0;
 }
 
 static int pch_gpio_get(struct gpio_chip *gpio, unsigned int nr)
@@ -217,7 +219,7 @@ static void pch_gpio_setup(struct pch_gpio *chip)
        gpio->direction_input = pch_gpio_direction_input;
        gpio->get = pch_gpio_get;
        gpio->direction_output = pch_gpio_direction_output;
-       gpio->set = pch_gpio_set;
+       gpio->set_rv = pch_gpio_set;
        gpio->base = -1;
        gpio->ngpio = gpio_pins[chip->ioh];
        gpio->can_sleep = false;