gpio: max730x: use new GPIO line value setter callbacks
authorBartosz Golaszewski <bartosz.golaszewski@linaro.org>
Tue, 6 May 2025 09:01:50 +0000 (11:01 +0200)
committerBartosz Golaszewski <bartosz.golaszewski@linaro.org>
Tue, 13 May 2025 13:15:34 +0000 (15:15 +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/20250506-gpiochip-set-rv-gpio-part3-v1-7-0fbdea5a9667@linaro.org
Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
drivers/gpio/gpio-max730x.c

index e688c13c8cc32aa9e0ccdd6227a55d8d2e7b6d5e..75d414d8c992a8dc1732e78f896c2c39daf6331e 100644 (file)
@@ -143,18 +143,21 @@ static int max7301_get(struct gpio_chip *chip, unsigned offset)
        return level;
 }
 
-static void max7301_set(struct gpio_chip *chip, unsigned offset, int value)
+static int max7301_set(struct gpio_chip *chip, unsigned int offset, int value)
 {
        struct max7301 *ts = gpiochip_get_data(chip);
+       int ret;
 
        /* First 4 pins are unused in the controller */
        offset += 4;
 
        mutex_lock(&ts->lock);
 
-       __max7301_set(ts, offset, value);
+       ret = __max7301_set(ts, offset, value);
 
        mutex_unlock(&ts->lock);
+
+       return ret;
 }
 
 int __max730x_probe(struct max7301 *ts)
@@ -185,7 +188,7 @@ int __max730x_probe(struct max7301 *ts)
        ts->chip.direction_input = max7301_direction_input;
        ts->chip.get = max7301_get;
        ts->chip.direction_output = max7301_direction_output;
-       ts->chip.set = max7301_set;
+       ts->chip.set_rv = max7301_set;
 
        ts->chip.ngpio = PIN_NUMBER;
        ts->chip.can_sleep = true;