]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
powerpc: 52xx/gpio: use new line value setter callbacks
authorBartosz Golaszewski <bartosz.golaszewski@linaro.org>
Fri, 2 May 2025 08:59:50 +0000 (10:59 +0200)
committerMadhavan Srinivasan <maddy@linux.ibm.com>
Sun, 4 May 2025 03:34:38 +0000 (09:04 +0530)
struct gpio_chip now has callbacks for setting line values that return
an integer, allowing to indicate failures. Convert the driver to using
them.

Reviewed-by: Linus Walleij <linus.walleij@linaro.org>
Reviewed-by: Christophe Leroy <christophe.leroy@csgroup.eu>
Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
Signed-off-by: Madhavan Srinivasan <maddy@linux.ibm.com>
Link: https://patch.msgid.link/20250502-gpiochip-set-rv-powerpc-v2-4-488e43e325bf@linaro.org
arch/powerpc/platforms/52xx/mpc52xx_gpt.c

index 1ea591ec608334ba549748c0b6ffbe1b83707c5e..c96af6b0eab42693d74b8bbeda81b7fd98bf0b2b 100644 (file)
@@ -280,7 +280,7 @@ static int mpc52xx_gpt_gpio_get(struct gpio_chip *gc, unsigned int gpio)
        return (in_be32(&gpt->regs->status) >> 8) & 1;
 }
 
-static void
+static int
 mpc52xx_gpt_gpio_set(struct gpio_chip *gc, unsigned int gpio, int v)
 {
        struct mpc52xx_gpt_priv *gpt = gpiochip_get_data(gc);
@@ -293,6 +293,8 @@ mpc52xx_gpt_gpio_set(struct gpio_chip *gc, unsigned int gpio, int v)
        raw_spin_lock_irqsave(&gpt->lock, flags);
        clrsetbits_be32(&gpt->regs->mode, MPC52xx_GPT_MODE_GPIO_MASK, r);
        raw_spin_unlock_irqrestore(&gpt->lock, flags);
+
+       return 0;
 }
 
 static int mpc52xx_gpt_gpio_dir_in(struct gpio_chip *gc, unsigned int gpio)
@@ -334,7 +336,7 @@ static void mpc52xx_gpt_gpio_setup(struct mpc52xx_gpt_priv *gpt)
        gpt->gc.direction_input  = mpc52xx_gpt_gpio_dir_in;
        gpt->gc.direction_output = mpc52xx_gpt_gpio_dir_out;
        gpt->gc.get = mpc52xx_gpt_gpio_get;
-       gpt->gc.set = mpc52xx_gpt_gpio_set;
+       gpt->gc.set_rv = mpc52xx_gpt_gpio_set;
        gpt->gc.base = -1;
        gpt->gc.parent = gpt->dev;