]> git.baikalelectronics.ru Git - kernel.git/commitdiff
gpio: Revert regression in sysfs-gpio (gpiolib.c)
authorMarcelo Roberto Jimenez <marcelo.jimenez@gmail.com>
Mon, 7 Mar 2022 09:57:24 +0000 (10:57 +0100)
committerBartosz Golaszewski <brgl@bgdev.pl>
Mon, 7 Mar 2022 14:25:27 +0000 (15:25 +0100)
Some GPIO lines have stopped working after the patch
commit 9c51595a4fb8a ("gpio: Support GPIO controllers without pin-ranges")

And this has supposedly been fixed in the following patches
commit a38a3199de19a ("gpio: Avoid using pin ranges with !PINCTRL")
commit d171ee3158fd0 ("gpiolib: Don't free if pin ranges are not defined")

But an erratic behavior where some GPIO lines work while others do not work
has been introduced.

This patch reverts those changes so that the sysfs-gpio interface works
properly again.

Signed-off-by: Marcelo Roberto Jimenez <marcelo.jimenez@gmail.com>
Signed-off-by: Bartosz Golaszewski <brgl@bgdev.pl>
drivers/gpio/gpiolib.c

index a3d14277f17c913439374e3dd8e9c690a56938fc..005642068c0b5a666fe1c1a82fddd6258d0ddc23 100644 (file)
@@ -1701,11 +1701,6 @@ static inline void gpiochip_irqchip_free_valid_mask(struct gpio_chip *gc)
  */
 int gpiochip_generic_request(struct gpio_chip *gc, unsigned int offset)
 {
-#ifdef CONFIG_PINCTRL
-       if (list_empty(&gc->gpiodev->pin_ranges))
-               return 0;
-#endif
-
        return pinctrl_gpio_request(gc->gpiodev->base + offset);
 }
 EXPORT_SYMBOL_GPL(gpiochip_generic_request);
@@ -1717,11 +1712,6 @@ EXPORT_SYMBOL_GPL(gpiochip_generic_request);
  */
 void gpiochip_generic_free(struct gpio_chip *gc, unsigned int offset)
 {
-#ifdef CONFIG_PINCTRL
-       if (list_empty(&gc->gpiodev->pin_ranges))
-               return;
-#endif
-
        pinctrl_gpio_free(gc->gpiodev->base + offset);
 }
 EXPORT_SYMBOL_GPL(gpiochip_generic_free);