diff options
author | Thierry Reding <treding@nvidia.com> | 2020-03-30 12:02:57 +0300 |
---|---|---|
committer | Linus Walleij <linus.walleij@linaro.org> | 2020-03-31 17:46:47 +0300 |
commit | 89ad556b7f96af54ae6762f561f0a09269265741 (patch) | |
tree | 5dc8e4291e845bd51a4214e0fdcc6d3fa243cf7c | |
parent | 5f4bf171ca03b79f0ed7a17216fd854e50955617 (diff) | |
download | linux-89ad556b7f96af54ae6762f561f0a09269265741.tar.xz |
gpio: Avoid using pin ranges with !PINCTRL
Do not use the struct gpio_device's .pin_ranges field if the PINCTRL
Kconfig symbol is not selected to avoid build failures.
Fixes: 2ab73c6d8323fa1e ("gpio: Support GPIO controllers without pin-ranges")
Reported-by: Stephen Rothwell <sfr@canb.auug.org.au>
Reported-by: kbuild test robot <lkp@intel.com>
Signed-off-by: Thierry Reding <treding@nvidia.com>
Link: https://lore.kernel.org/r/20200330090257.2332864-1-thierry.reding@gmail.com
Reviewed-by: Geert Uytterhoeven <geert@linux-m68k.org>
Tested-by: Geert Uytterhoeven <geert@linux-m68k.org>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
-rw-r--r-- | drivers/gpio/gpiolib.c | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/drivers/gpio/gpiolib.c b/drivers/gpio/gpiolib.c index 8acb0c96fa4c..2951a8b595c3 100644 --- a/drivers/gpio/gpiolib.c +++ b/drivers/gpio/gpiolib.c @@ -2745,10 +2745,12 @@ static inline void gpiochip_irqchip_free_valid_mask(struct gpio_chip *gpiochip) */ int gpiochip_generic_request(struct gpio_chip *chip, unsigned offset) { - if (!list_empty(&chip->gpiodev->pin_ranges)) - return pinctrl_gpio_request(chip->gpiodev->base + offset); +#ifdef CONFIG_PINCTRL + if (list_empty(&chip->gpiodev->pin_ranges)) + return 0; +#endif - return 0; + return pinctrl_gpio_request(chip->gpiodev->base + offset); } EXPORT_SYMBOL_GPL(gpiochip_generic_request); |