]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
gpio: altera-a10sr: use new line value setter callbacks
authorBartosz Golaszewski <bartosz.golaszewski@linaro.org>
Mon, 3 Mar 2025 13:18:32 +0000 (14:18 +0100)
committerBartosz Golaszewski <bartosz.golaszewski@linaro.org>
Mon, 10 Mar 2025 10:52:12 +0000 (11:52 +0100)
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/20250303-gpiochip-set-conversion-v1-7-1d5cceeebf8b@linaro.org
Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
drivers/gpio/gpio-altera-a10sr.c

index 11edf1fe6c90fd9024d1b8bb0f7f5a7980daa1d6..77a674cf99e467c1de5bd64b6a4d4a723f51efcd 100644 (file)
@@ -35,15 +35,15 @@ static int altr_a10sr_gpio_get(struct gpio_chip *chip, unsigned int offset)
        return !!(val & BIT(offset - ALTR_A10SR_LED_VALID_SHIFT));
 }
 
-static void altr_a10sr_gpio_set(struct gpio_chip *chip, unsigned int offset,
-                               int value)
+static int altr_a10sr_gpio_set(struct gpio_chip *chip, unsigned int offset,
+                              int value)
 {
        struct altr_a10sr_gpio *gpio = gpiochip_get_data(chip);
 
-       regmap_update_bits(gpio->regmap, ALTR_A10SR_LED_REG,
-                          BIT(ALTR_A10SR_LED_VALID_SHIFT + offset),
-                          value ? BIT(ALTR_A10SR_LED_VALID_SHIFT + offset)
-                          : 0);
+       return regmap_update_bits(gpio->regmap, ALTR_A10SR_LED_REG,
+                                 BIT(ALTR_A10SR_LED_VALID_SHIFT + offset),
+                                 value ?
+                                 BIT(ALTR_A10SR_LED_VALID_SHIFT + offset) : 0);
 }
 
 static int altr_a10sr_gpio_direction_input(struct gpio_chip *gc,
@@ -69,7 +69,7 @@ static const struct gpio_chip altr_a10sr_gc = {
        .label = "altr_a10sr_gpio",
        .owner = THIS_MODULE,
        .get = altr_a10sr_gpio_get,
-       .set = altr_a10sr_gpio_set,
+       .set_rv = altr_a10sr_gpio_set,
        .direction_input = altr_a10sr_gpio_direction_input,
        .direction_output = altr_a10sr_gpio_direction_output,
        .can_sleep = true,