gpio: Revert regression in sysfs-gpio (gpiolib.c)
[ Upstream commit fc328a7d1fcce263db0b046917a66f3aa6e68719 ] Some GPIO lines have stopped working after the patch commit2ab73c6d83
("gpio: Support GPIO controllers without pin-ranges") And this has supposedly been fixed in the following patches commit89ad556b7f
("gpio: Avoid using pin ranges with !PINCTRL") commit6dbbf84603
("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> Signed-off-by: Sasha Levin <sashal@kernel.org>
This commit is contained in:

committed by
Greg Kroah-Hartman

parent
fc9a35627c
commit
a4f4ce3dee
@@ -1804,11 +1804,6 @@ static inline void gpiochip_irqchip_free_valid_mask(struct gpio_chip *gc)
|
|||||||
*/
|
*/
|
||||||
int gpiochip_generic_request(struct gpio_chip *gc, unsigned offset)
|
int gpiochip_generic_request(struct gpio_chip *gc, unsigned offset)
|
||||||
{
|
{
|
||||||
#ifdef CONFIG_PINCTRL
|
|
||||||
if (list_empty(&gc->gpiodev->pin_ranges))
|
|
||||||
return 0;
|
|
||||||
#endif
|
|
||||||
|
|
||||||
return pinctrl_gpio_request(gc->gpiodev->base + offset);
|
return pinctrl_gpio_request(gc->gpiodev->base + offset);
|
||||||
}
|
}
|
||||||
EXPORT_SYMBOL_GPL(gpiochip_generic_request);
|
EXPORT_SYMBOL_GPL(gpiochip_generic_request);
|
||||||
@@ -1820,11 +1815,6 @@ EXPORT_SYMBOL_GPL(gpiochip_generic_request);
|
|||||||
*/
|
*/
|
||||||
void gpiochip_generic_free(struct gpio_chip *gc, unsigned offset)
|
void gpiochip_generic_free(struct gpio_chip *gc, unsigned offset)
|
||||||
{
|
{
|
||||||
#ifdef CONFIG_PINCTRL
|
|
||||||
if (list_empty(&gc->gpiodev->pin_ranges))
|
|
||||||
return;
|
|
||||||
#endif
|
|
||||||
|
|
||||||
pinctrl_gpio_free(gc->gpiodev->base + offset);
|
pinctrl_gpio_free(gc->gpiodev->base + offset);
|
||||||
}
|
}
|
||||||
EXPORT_SYMBOL_GPL(gpiochip_generic_free);
|
EXPORT_SYMBOL_GPL(gpiochip_generic_free);
|
||||||
|
Reference in New Issue
Block a user