Revert "gpio: Revert regression in sysfs-gpio (gpiolib.c)"
PATCH 1/1 Revert "gpio: Revert regression in sysfs-gpio (gpiolib.c)"
This reverts commit fc328a7d1fcce263db0b046917a66f3aa6e68719.
This commit - while attempting to fix a regression - has caused a number of other problems. As the fallout from it is more significant than the initial problem itself, revert it for now before we find a correct solution.
--- drivers/gpio/gpiolib.c | 10 ++++++++++ 1 file changed, 10 insertions(+)
drivers/gpio/gpiolib.c +10 -0
@@ -1701,6 +1701,11 @@ 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);
@@ -1712,6 +1717,11 @@ 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);
Signature · 1 line
2.30.1
Quoted 5 lines · Bartosz Golaszewski
This commit - while attempting to fix a regression - has caused a number of other problems. As the fallout from it is more significant than the initial problem itself, revert it for now before we find a correct solution.
I'll add the links and the cc's to this and apply it.
Linus
Quoted 6 lines · Bartosz Golaszewski
This reverts commit
fc328a7d1fcce263db0b046917a66f3aa6e68719.This commit - while attempting to fix a regression - has caused a number of other problems. As the fallout from it is more significant than the initial problem itself, revert it for now before we find a correct solution.
I just noticed that the regression that fc328a7d1fcc was trying to fix is still on my list of tracked regressions. Is anyone working on it od did it fall through the cracks? Was it maybe even fixed already? Or are matters now that complicated that it's best to just leave everything as it is now?
Ciao, Thorsten
#regzbot ^backmonitor:
https://lore.kernel.org/stable/[email protected]/
Quoted 33 lines
Signed-off-by Bartosz Golaszewski <[email protected]>--- drivers/gpio/gpiolib.c | 10 ++++++++++ 1 file changed, 10 insertions(+)drivers/gpio/gpiolib.c +10
-0@@ -1701,6 +1701,11 @@ 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);@@ -1712,6 +1717,11 @@ 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);