]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
pinctrl: baytrail: use new GPIO line value setter callbacks
authorBartosz Golaszewski <bartosz.golaszewski@linaro.org>
Tue, 10 Jun 2025 12:58:47 +0000 (14:58 +0200)
committerAndy Shevchenko <andriy.shevchenko@linux.intel.com>
Wed, 11 Jun 2025 08:27:30 +0000 (11:27 +0300)
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>
Acked-by: Mika Westerberg <mika.westerberg@linux.intel.com>
Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
drivers/pinctrl/intel/pinctrl-baytrail.c

index 969137c4cb0659fc66bf461bcbcdc60fb2d0dcb6..6eb649f1ffd6e09c0a8c99704eb165dac58d9736 100644 (file)
@@ -1045,7 +1045,7 @@ static int byt_gpio_get(struct gpio_chip *chip, unsigned int offset)
        return !!(val & BYT_LEVEL);
 }
 
-static void byt_gpio_set(struct gpio_chip *chip, unsigned int offset, int value)
+static int byt_gpio_set(struct gpio_chip *chip, unsigned int offset, int value)
 {
        struct intel_pinctrl *vg = gpiochip_get_data(chip);
        void __iomem *reg;
@@ -1053,7 +1053,7 @@ static void byt_gpio_set(struct gpio_chip *chip, unsigned int offset, int value)
 
        reg = byt_gpio_reg(vg, offset, BYT_VAL_REG);
        if (!reg)
-               return;
+               return -EINVAL;
 
        guard(raw_spinlock_irqsave)(&byt_lock);
 
@@ -1062,6 +1062,8 @@ static void byt_gpio_set(struct gpio_chip *chip, unsigned int offset, int value)
                writel(old_val | BYT_LEVEL, reg);
        else
                writel(old_val & ~BYT_LEVEL, reg);
+
+       return 0;
 }
 
 static int byt_gpio_get_direction(struct gpio_chip *chip, unsigned int offset)
@@ -1229,7 +1231,7 @@ static const struct gpio_chip byt_gpio_chip = {
        .direction_input        = byt_gpio_direction_input,
        .direction_output       = byt_gpio_direction_output,
        .get                    = byt_gpio_get,
-       .set                    = byt_gpio_set,
+       .set_rv                 = byt_gpio_set,
        .set_config             = gpiochip_generic_config,
        .dbg_show               = byt_gpio_dbg_show,
 };