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

Link: https://lore.kernel.org/r/20250610-gpiochip-set-rv-gpio-v1-10-3a9a3c1472ff@linaro.org
Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
drivers/gpio/gpio-octeon.c

index afb0e8a791e5a8f1b3029c4ca890a5eb9b8efe44..24966161742a96082baeb850f124c71b894e9057 100644 (file)
@@ -47,12 +47,15 @@ static int octeon_gpio_dir_in(struct gpio_chip *chip, unsigned offset)
        return 0;
 }
 
-static void octeon_gpio_set(struct gpio_chip *chip, unsigned offset, int value)
+static int octeon_gpio_set(struct gpio_chip *chip, unsigned int offset,
+                          int value)
 {
        struct octeon_gpio *gpio = gpiochip_get_data(chip);
        u64 mask = 1ull << offset;
        u64 reg = gpio->register_base + (value ? TX_SET : TX_CLEAR);
        cvmx_write_csr(reg, mask);
+
+       return 0;
 }
 
 static int octeon_gpio_dir_out(struct gpio_chip *chip, unsigned offset,
@@ -105,7 +108,7 @@ static int octeon_gpio_probe(struct platform_device *pdev)
        chip->direction_input = octeon_gpio_dir_in;
        chip->get = octeon_gpio_get;
        chip->direction_output = octeon_gpio_dir_out;
-       chip->set = octeon_gpio_set;
+       chip->set_rv = octeon_gpio_set;
        err = devm_gpiochip_add_data(&pdev->dev, chip, gpio);
        if (err)
                return err;