]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
gpio: msc313: use new GPIO line value setter callbacks
authorBartosz Golaszewski <bartosz.golaszewski@linaro.org>
Tue, 10 Jun 2025 12:33:17 +0000 (14:33 +0200)
committerBartosz Golaszewski <bartosz.golaszewski@linaro.org>
Tue, 17 Jun 2025 09:09:30 +0000 (11:09 +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.

Reviewed-by: Daniel Palmer <daniel@thingy.jp>
Link: https://lore.kernel.org/r/20250610-gpiochip-set-rv-gpio-v1-7-3a9a3c1472ff@linaro.org
Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
drivers/gpio/gpio-msc313.c

index 6db9e469e0dc254e791d497b89a4c6d329d0add4..992339a89d19840fc03ccf849972a83cb86415ae 100644 (file)
@@ -486,7 +486,7 @@ struct msc313_gpio {
        u8 *saved;
 };
 
-static void msc313_gpio_set(struct gpio_chip *chip, unsigned int offset, int value)
+static int msc313_gpio_set(struct gpio_chip *chip, unsigned int offset, int value)
 {
        struct msc313_gpio *gpio = gpiochip_get_data(chip);
        u8 gpioreg = readb_relaxed(gpio->base + gpio->gpio_data->offsets[offset]);
@@ -497,6 +497,8 @@ static void msc313_gpio_set(struct gpio_chip *chip, unsigned int offset, int val
                gpioreg &= ~MSC313_GPIO_OUT;
 
        writeb_relaxed(gpioreg, gpio->base + gpio->gpio_data->offsets[offset]);
+
+       return 0;
 }
 
 static int msc313_gpio_get(struct gpio_chip *chip, unsigned int offset)
@@ -656,7 +658,7 @@ static int msc313_gpio_probe(struct platform_device *pdev)
        gpiochip->direction_input = msc313_gpio_direction_input;
        gpiochip->direction_output = msc313_gpio_direction_output;
        gpiochip->get = msc313_gpio_get;
-       gpiochip->set = msc313_gpio_set;
+       gpiochip->set_rv = msc313_gpio_set;
        gpiochip->base = -1;
        gpiochip->ngpio = gpio->gpio_data->num;
        gpiochip->names = gpio->gpio_data->names;