pinctrl: bcm: nsp-gpio: use new GPIO line value setter callbacks
authorBartosz Golaszewski <bartosz.golaszewski@linaro.org>
Fri, 25 Apr 2025 09:08:29 +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-1-6b8883d79b66@linaro.org
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
drivers/pinctrl/bcm/pinctrl-nsp-gpio.c

index a96be8f244e0c1cf91515c5e878899d5fbce8e5e..b08f8480ddc65e1a8aa69b7c0b89187a4536b3bc 100644 (file)
@@ -310,7 +310,7 @@ static int nsp_gpio_get_direction(struct gpio_chip *gc, unsigned gpio)
        return !val;
 }
 
-static void nsp_gpio_set(struct gpio_chip *gc, unsigned gpio, int val)
+static int nsp_gpio_set(struct gpio_chip *gc, unsigned int gpio, int val)
 {
        struct nsp_gpio *chip = gpiochip_get_data(gc);
        unsigned long flags;
@@ -320,6 +320,8 @@ static void nsp_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 nsp_gpio_get(struct gpio_chip *gc, unsigned gpio)
@@ -654,7 +656,7 @@ static int nsp_gpio_probe(struct platform_device *pdev)
        gc->direction_input = nsp_gpio_direction_input;
        gc->direction_output = nsp_gpio_direction_output;
        gc->get_direction = nsp_gpio_get_direction;
-       gc->set = nsp_gpio_set;
+       gc->set_rv = nsp_gpio_set;
        gc->get = nsp_gpio_get;
 
        /* optional GPIO interrupt support */