]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
pinctrl: pic32: use new GPIO line value setter callbacks
authorBartosz Golaszewski <bartosz.golaszewski@linaro.org>
Thu, 12 Jun 2025 13:15:20 +0000 (15:15 +0200)
committerLinus Walleij <linus.walleij@linaro.org>
Wed, 18 Jun 2025 12:08:37 +0000 (14:08 +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>
Link: https://lore.kernel.org/20250612-gpiochip-set-rv-pinctrl-remaining-v1-11-556b0a530cd4@linaro.org
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
drivers/pinctrl/pinctrl-pic32.c

index bf827ab081a1d672c440a8b4eccab539fdc215e7..6d64cab97e8116625c2efce29a3e5db8248bcba4 100644 (file)
@@ -1828,8 +1828,8 @@ static int pic32_gpio_get(struct gpio_chip *chip, unsigned offset)
        return !!(readl(bank->reg_base + PORT_REG) & BIT(offset));
 }
 
-static void pic32_gpio_set(struct gpio_chip *chip, unsigned offset,
-                              int value)
+static int pic32_gpio_set(struct gpio_chip *chip, unsigned int offset,
+                         int value)
 {
        struct pic32_gpio_bank *bank = gpiochip_get_data(chip);
        u32 mask = BIT(offset);
@@ -1838,6 +1838,8 @@ static void pic32_gpio_set(struct gpio_chip *chip, unsigned offset,
                writel(mask, bank->reg_base + PIC32_SET(PORT_REG));
        else
                writel(mask, bank->reg_base + PIC32_CLR(PORT_REG));
+
+       return 0;
 }
 
 static int pic32_gpio_direction_output(struct gpio_chip *chip,
@@ -2118,7 +2120,7 @@ static void pic32_gpio_irq_handler(struct irq_desc *desc)
                        .direction_input = pic32_gpio_direction_input,  \
                        .direction_output = pic32_gpio_direction_output, \
                        .get = pic32_gpio_get,                          \
-                       .set = pic32_gpio_set,                          \
+                       .set_rv = pic32_gpio_set,                       \
                        .ngpio = _npins,                                \
                        .base = GPIO_BANK_START(_bank),                 \
                        .owner = THIS_MODULE,                           \