gpio: lp873x: use new GPIO line value setter callbacks
authorBartosz Golaszewski <bartosz.golaszewski@linaro.org>
Tue, 6 May 2025 09:01:44 +0000 (11:01 +0200)
committerBartosz Golaszewski <bartosz.golaszewski@linaro.org>
Tue, 13 May 2025 13:15:34 +0000 (15:15 +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.

Link: https://lore.kernel.org/r/20250506-gpiochip-set-rv-gpio-part3-v1-1-0fbdea5a9667@linaro.org
Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
drivers/gpio/gpio-lp873x.c

index 5c79ba1f229c48af42a49121fe481256b09e325f..1908ed302e9233d06716955240c952807d2e960d 100644 (file)
@@ -58,14 +58,14 @@ static int lp873x_gpio_get(struct gpio_chip *chip, unsigned int offset)
        return val & BIT(offset * BITS_PER_GPO);
 }
 
-static void lp873x_gpio_set(struct gpio_chip *chip, unsigned int offset,
-                           int value)
+static int lp873x_gpio_set(struct gpio_chip *chip, unsigned int offset,
+                          int value)
 {
        struct lp873x_gpio *gpio = gpiochip_get_data(chip);
 
-       regmap_update_bits(gpio->lp873->regmap, LP873X_REG_GPO_CTRL,
-                          BIT(offset * BITS_PER_GPO),
-                          value ? BIT(offset * BITS_PER_GPO) : 0);
+       return regmap_update_bits(gpio->lp873->regmap, LP873X_REG_GPO_CTRL,
+                                 BIT(offset * BITS_PER_GPO),
+                                 value ? BIT(offset * BITS_PER_GPO) : 0);
 }
 
 static int lp873x_gpio_request(struct gpio_chip *gc, unsigned int offset)
@@ -124,7 +124,7 @@ static const struct gpio_chip template_chip = {
        .direction_input        = lp873x_gpio_direction_input,
        .direction_output       = lp873x_gpio_direction_output,
        .get                    = lp873x_gpio_get,
-       .set                    = lp873x_gpio_set,
+       .set_rv                 = lp873x_gpio_set,
        .set_config             = lp873x_gpio_set_config,
        .base                   = -1,
        .ngpio                  = 2,