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: 2ab73c6d83 ("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>
This commit is contained in:
Thierry Reding 2020-03-30 11:02:57 +02:00 committed by Linus Walleij
parent 5f4bf171ca
commit 89ad556b7f
1 changed files with 5 additions and 3 deletions

View File

@ -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);