]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
mfd: tps65010: Use new GPIO line value setter callbacks
authorBartosz Golaszewski <bartosz.golaszewski@linaro.org>
Mon, 7 Apr 2025 07:24:14 +0000 (09:24 +0200)
committerLee Jones <lee@kernel.org>
Fri, 23 May 2025 07:48:12 +0000 (08:48 +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.

Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
Link: https://lore.kernel.org/r/20250407-gpiochip-set-rv-mfd-v1-2-43f4d86d01d1@linaro.org
Signed-off-by: Lee Jones <lee@kernel.org>
drivers/mfd/tps65010.c

index e7c57431c0cc3ae50b448c0ee298b12497d97977..03bd5cd6679862578d51550bd393f29f3d898b22 100644 (file)
@@ -446,7 +446,7 @@ static irqreturn_t tps65010_irq(int irq, void *_tps)
  * offsets 4..5 == LED1/nPG, LED2 (we set one of the non-BLINK modes)
  * offset 6 == vibrator motor driver
  */
-static void
+static int
 tps65010_gpio_set(struct gpio_chip *chip, unsigned offset, int value)
 {
        if (offset < 4)
@@ -455,6 +455,8 @@ tps65010_gpio_set(struct gpio_chip *chip, unsigned offset, int value)
                tps65010_set_led(offset - 3, value ? ON : OFF);
        else
                tps65010_set_vib(value);
+
+       return 0;
 }
 
 static int
@@ -618,7 +620,7 @@ static int tps65010_probe(struct i2c_client *client)
                tps->chip.parent = &client->dev;
                tps->chip.owner = THIS_MODULE;
 
-               tps->chip.set = tps65010_gpio_set;
+               tps->chip.set_rv = tps65010_gpio_set;
                tps->chip.direction_output = tps65010_output;
 
                /* NOTE:  only partial support for inputs; nyet IRQs */