From: Thierry Reding <treding@xxxxxxxxxx> Do not use the struct gpio_device's .pin_ranges field if the PINCTRL Kconfig symbol is not selected to avoid build failures. Fixes: d2fbe53a806e ("gpio: Support GPIO controllers without pin-ranges") Reported-by: Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx> Reported-by: kbuild test robot <lkp@xxxxxxxxx> Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> --- drivers/gpio/gpiolib.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/drivers/gpio/gpiolib.c b/drivers/gpio/gpiolib.c index e6f9def09f55..5c245883c9c5 100644 --- a/drivers/gpio/gpiolib.c +++ b/drivers/gpio/gpiolib.c @@ -2753,10 +2753,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); -- 2.24.1