pinctrl: bcm: iproc-gpio: use new GPIO line value setter callbacks
authorBartosz Golaszewski <bartosz.golaszewski@linaro.org>
Fri, 25 Apr 2025 09:08:30 +0000 (11:08 +0200)
committerLinus Walleij <linus.walleij@linaro.org>
Fri, 9 May 2025 08:05:52 +0000 (10:05 +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.

Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
Link: https://lore.kernel.org/20250425-gpiochip-set-rv-pinctrl-bcm-v1-2-6b8883d79b66@linaro.org
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
drivers/pinctrl/bcm/pinctrl-iproc-gpio.c

index c9a3d3aa8c108663109e22b2dd88f7151c2588f3..1d08b8d4cdd765731e89b3597751ab2b88899bbf 100644 (file)
@@ -390,7 +390,7 @@ static int iproc_gpio_get_direction(struct gpio_chip *gc, unsigned int gpio)
        return GPIO_LINE_DIRECTION_IN;
 }
 
-static void iproc_gpio_set(struct gpio_chip *gc, unsigned gpio, int val)
+static int iproc_gpio_set(struct gpio_chip *gc, unsigned int gpio, int val)
 {
        struct iproc_gpio *chip = gpiochip_get_data(gc);
        unsigned long flags;
@@ -400,6 +400,8 @@ static void iproc_gpio_set(struct gpio_chip *gc, unsigned gpio, int val)
        raw_spin_unlock_irqrestore(&chip->lock, flags);
 
        dev_dbg(chip->dev, "gpio:%u set, value:%d\n", gpio, val);
+
+       return 0;
 }
 
 static int iproc_gpio_get(struct gpio_chip *gc, unsigned gpio)
@@ -863,7 +865,7 @@ static int iproc_gpio_probe(struct platform_device *pdev)
        gc->direction_input = iproc_gpio_direction_input;
        gc->direction_output = iproc_gpio_direction_output;
        gc->get_direction = iproc_gpio_get_direction;
-       gc->set = iproc_gpio_set;
+       gc->set_rv = iproc_gpio_set;
        gc->get = iproc_gpio_get;
 
        chip->pinmux_is_supported = of_property_read_bool(dev->of_node,