]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
ARM: scoop/gpio: use new line value setter callbacks
authorBartosz Golaszewski <bartosz.golaszewski@linaro.org>
Mon, 7 Apr 2025 07:09:20 +0000 (09:09 +0200)
committerBartosz Golaszewski <bartosz.golaszewski@linaro.org>
Wed, 9 Apr 2025 08:25:25 +0000 (10: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.

Link: https://lore.kernel.org/r/20250407-gpiochip-set-rv-arm-v1-3-9e4a914c7fd4@linaro.org
Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
arch/arm/common/scoop.c

index 0b08b6621878bfde0a2df3572be0cb668e189449..2d3ee76c8e17c7a5ccc90d863a4473f118c14378 100644 (file)
@@ -63,7 +63,8 @@ static void __scoop_gpio_set(struct scoop_dev *sdev,
        iowrite16(gpwr, sdev->base + SCOOP_GPWR);
 }
 
-static void scoop_gpio_set(struct gpio_chip *chip, unsigned offset, int value)
+static int scoop_gpio_set(struct gpio_chip *chip, unsigned int offset,
+                         int value)
 {
        struct scoop_dev *sdev = gpiochip_get_data(chip);
        unsigned long flags;
@@ -73,6 +74,8 @@ static void scoop_gpio_set(struct gpio_chip *chip, unsigned offset, int value)
        __scoop_gpio_set(sdev, offset, value);
 
        spin_unlock_irqrestore(&sdev->scoop_lock, flags);
+
+       return 0;
 }
 
 static int scoop_gpio_get(struct gpio_chip *chip, unsigned offset)
@@ -215,7 +218,7 @@ static int scoop_probe(struct platform_device *pdev)
                devptr->gpio.label = dev_name(&pdev->dev);
                devptr->gpio.base = inf->gpio_base;
                devptr->gpio.ngpio = 12; /* PA11 = 0, PA12 = 1, etc. up to PA22 = 11 */
-               devptr->gpio.set = scoop_gpio_set;
+               devptr->gpio.set_rv = scoop_gpio_set;
                devptr->gpio.get = scoop_gpio_get;
                devptr->gpio.direction_input = scoop_gpio_direction_input;
                devptr->gpio.direction_output = scoop_gpio_direction_output;