]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
pinctrl: lynxpoint: use new GPIO line value setter callbacks
authorBartosz Golaszewski <bartosz.golaszewski@linaro.org>
Tue, 10 Jun 2025 12:58:50 +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-lynxpoint.c

index ac5459a4c63e054ae4dd975f0a19112e4382aa99..5d4a5dd493d1bfbbc6051163758fd8a9341b43a8 100644 (file)
@@ -503,7 +503,7 @@ static int lp_gpio_get(struct gpio_chip *chip, unsigned int offset)
        return !!(ioread32(reg) & IN_LVL_BIT);
 }
 
-static void lp_gpio_set(struct gpio_chip *chip, unsigned int offset, int value)
+static int lp_gpio_set(struct gpio_chip *chip, unsigned int offset, int value)
 {
        struct intel_pinctrl *lg = gpiochip_get_data(chip);
        void __iomem *reg = lp_gpio_reg(chip, offset, LP_CONFIG1);
@@ -514,6 +514,8 @@ static void lp_gpio_set(struct gpio_chip *chip, unsigned int offset, int value)
                iowrite32(ioread32(reg) | OUT_LVL_BIT, reg);
        else
                iowrite32(ioread32(reg) & ~OUT_LVL_BIT, reg);
+
+       return 0;
 }
 
 static int lp_gpio_direction_input(struct gpio_chip *chip, unsigned int offset)
@@ -775,7 +777,7 @@ static int lp_gpio_probe(struct platform_device *pdev)
        gc->direction_input = lp_gpio_direction_input;
        gc->direction_output = lp_gpio_direction_output;
        gc->get = lp_gpio_get;
-       gc->set = lp_gpio_set;
+       gc->set_rv = lp_gpio_set;
        gc->set_config = gpiochip_generic_config;
        gc->get_direction = lp_gpio_get_direction;
        gc->base = -1;