Re: [PATCH] Revert "gpio: Revert regression in sysfs-gpio (gpiolib.c)"

From: Thorsten Leemhuis
Date: Wed May 04 2022 - 09:34:55 EST


On 15.03.22 17:52, Bartosz Golaszewski wrote:
> 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/20211217153555.9413-1-marcelo.jimenez@xxxxxxxxx/

> Signed-off-by: Bartosz Golaszewski <brgl@xxxxxxxx>
> ---
> drivers/gpio/gpiolib.c | 10 ++++++++++
> 1 file changed, 10 insertions(+)
>
> diff --git a/drivers/gpio/gpiolib.c b/drivers/gpio/gpiolib.c
> index defb7c464b87..6630d92e30ad 100644
> --- a/drivers/gpio/gpiolib.c
> +++ b/drivers/gpio/gpiolib.c
> @@ -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);