]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
ARM: s3c/gpio: use new line value setter callbacks
authorBartosz Golaszewski <bartosz.golaszewski@linaro.org>
Mon, 7 Apr 2025 07:09:21 +0000 (09:09 +0200)
committerBartosz Golaszewski <bartosz.golaszewski@linaro.org>
Wed, 9 Apr 2025 08:25:26 +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-4-9e4a914c7fd4@linaro.org
Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
arch/arm/mach-s3c/gpio-samsung.c

index 87daaa09e2c3f6dd82523cf63edc4b3a77dd0659..ea496958f488cabae04537accb57e3f47f782328 100644 (file)
@@ -430,8 +430,8 @@ static int samsung_gpiolib_4bit2_output(struct gpio_chip *chip,
        return 0;
 }
 
-static void samsung_gpiolib_set(struct gpio_chip *chip,
-                               unsigned offset, int value)
+static int samsung_gpiolib_set(struct gpio_chip *chip, unsigned int offset,
+                              int value)
 {
        struct samsung_gpio_chip *ourchip = to_samsung_gpio(chip);
        void __iomem *base = ourchip->base;
@@ -447,6 +447,8 @@ static void samsung_gpiolib_set(struct gpio_chip *chip,
        __raw_writel(dat, base + 0x04);
 
        samsung_gpio_unlock(ourchip, flags);
+
+       return 0;
 }
 
 static int samsung_gpiolib_get(struct gpio_chip *chip, unsigned offset)
@@ -515,7 +517,7 @@ static void __init samsung_gpiolib_add(struct samsung_gpio_chip *chip)
        if (!gc->direction_output)
                gc->direction_output = samsung_gpiolib_2bit_output;
        if (!gc->set)
-               gc->set = samsung_gpiolib_set;
+               gc->set_rv = samsung_gpiolib_set;
        if (!gc->get)
                gc->get = samsung_gpiolib_get;