gpiolib: Don't free if pin ranges are not defined
A similar check was added in gpiochip_generic_request, but not in free. This has caused an imbalance count of request vs. free calls to the pinctrl driver. This patch is targeted to fix that issue. Fixes: 2ab73c6d8323 ("gpio: Support GPIO controllers without pin-ranges") Signed-off-by: Edmond Chung <edmondchung@google.com> Signed-off-by: Andrew Chant <achant@google.com> Signed-off-by: Will McVicker <willmcvicker@google.com> Signed-off-by: Bartosz Golaszewski <bgolaszewski@baylibre.com>
This commit is contained in:
parent
60593df667
commit
6dbbf84603
@ -1806,6 +1806,11 @@ 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);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user