Skip to content

Commit

Permalink
Revert "gpio: Revert regression in sysfs-gpio (gpiolib.c)"
Browse files Browse the repository at this point in the history
This reverts commit fc328a7.

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.

Link: https://lore.kernel.org/all/[email protected]/
Link: https://lore.kernel.org/stable/[email protected]/
Link: https://lore.kernel.org/all/[email protected]/
Signed-off-by: Bartosz Golaszewski <[email protected]>
Reported-and-bisected-by: Guenter Roeck <[email protected]>
Reported-by: Michael Walle <[email protected]>
Cc: Thorsten Leemhuis <[email protected]>
Cc: Marcelo Roberto Jimenez <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
  • Loading branch information
brgl authored and torvalds committed Mar 15, 2022
1 parent 6665ca1 commit 56e337f
Showing 1 changed file with 10 additions and 0 deletions.
10 changes: 10 additions & 0 deletions drivers/gpio/gpiolib.c
Original file line number Diff line number Diff line change
Expand Up @@ -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);
Expand All @@ -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);
Expand Down

0 comments on commit 56e337f

Please sign in to comment.