]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
gpio: pxa: use new GPIO line value setter callbacks
authorBartosz Golaszewski <bartosz.golaszewski@linaro.org>
Thu, 19 Jun 2025 08:33:19 +0000 (10:33 +0200)
committerBartosz Golaszewski <bartosz.golaszewski@linaro.org>
Mon, 23 Jun 2025 07:25:46 +0000 (09: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/20250619-gpiochip-set-rv-gpio-v2-6-74abf689fbd8@linaro.org
Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
drivers/gpio/gpio-pxa.c

index 131ab79ebce7555313fd93b3ebd80582d1b9327d..13f7da2a9486428bb8d1d44d2caf9f21f82cbca5 100644 (file)
@@ -315,12 +315,14 @@ static int pxa_gpio_get(struct gpio_chip *chip, unsigned offset)
        return !!(gplr & GPIO_bit(offset));
 }
 
-static void pxa_gpio_set(struct gpio_chip *chip, unsigned offset, int value)
+static int pxa_gpio_set(struct gpio_chip *chip, unsigned int offset, int value)
 {
        void __iomem *base = gpio_bank_base(chip, offset);
 
        writel_relaxed(GPIO_bit(offset),
                       base + (value ? GPSR_OFFSET : GPCR_OFFSET));
+
+       return 0;
 }
 
 #ifdef CONFIG_OF_GPIO
@@ -353,7 +355,7 @@ static int pxa_init_gpio_chip(struct pxa_gpio_chip *pchip, int ngpio, void __iom
        pchip->chip.direction_input  = pxa_gpio_direction_input;
        pchip->chip.direction_output = pxa_gpio_direction_output;
        pchip->chip.get = pxa_gpio_get;
-       pchip->chip.set = pxa_gpio_set;
+       pchip->chip.set_rv = pxa_gpio_set;
        pchip->chip.to_irq = pxa_gpio_to_irq;
        pchip->chip.ngpio = ngpio;
        pchip->chip.request = gpiochip_generic_request;