pinctrl: ingenic: use new GPIO line value setter callbacks
authorBartosz Golaszewski <bartosz.golaszewski@linaro.org>
Thu, 24 Apr 2025 08:35:29 +0000 (10:35 +0200)
committerLinus Walleij <linus.walleij@linaro.org>
Tue, 29 Apr 2025 08:34:45 +0000 (10:34 +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>
Acked-by: Paul Cercueil <paul@crapouillou.net>
Link: https://lore.kernel.org/20250424-gpiochip-set-rv-pinctrl-part2-v1-6-504f91120b99@linaro.org
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
drivers/pinctrl/pinctrl-ingenic.c

index a9e48eac15f625189cf0f3f457e6f06dc4279e51..3c660471ec6911ee494f45d2ffc13c4dc496fd2e 100644 (file)
@@ -3800,12 +3800,14 @@ static void ingenic_gpio_irq_handler(struct irq_desc *desc)
        chained_irq_exit(irq_chip, desc);
 }
 
-static void ingenic_gpio_set(struct gpio_chip *gc,
-               unsigned int offset, int value)
+static int ingenic_gpio_set(struct gpio_chip *gc, unsigned int offset,
+                           int value)
 {
        struct ingenic_gpio_chip *jzgc = gpiochip_get_data(gc);
 
        ingenic_gpio_set_value(jzgc, offset, value);
+
+       return 0;
 }
 
 static int ingenic_gpio_get(struct gpio_chip *gc, unsigned int offset)
@@ -4449,7 +4451,7 @@ static int __init ingenic_gpio_probe(struct ingenic_pinctrl *jzpc,
        jzgc->gc.fwnode = fwnode;
        jzgc->gc.owner = THIS_MODULE;
 
-       jzgc->gc.set = ingenic_gpio_set;
+       jzgc->gc.set_rv = ingenic_gpio_set;
        jzgc->gc.get = ingenic_gpio_get;
        jzgc->gc.direction_input = pinctrl_gpio_direction_input;
        jzgc->gc.direction_output = ingenic_gpio_direction_output;