gpio: Support GPIO controllers without pin-ranges
Wake gpiochip_generic_request() call into the pinctrl helpers only if a GPIO controller had any pin-ranges assigned to it. This allows a driver to unconditionally use this helper if it supports multiple devices of which only a subset have pin-ranges assigned to them. Signed-off-by: Thierry Reding <treding@nvidia.com> Link: https://lore.kernel.org/r/20200319122737.3063291-2-thierry.reding@gmail.com Tested-by: Vidya Sagar <vidyas@nvidia.com> Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
This commit is contained in:
Родитель
da3f594737
Коммит
2ab73c6d83
|
@ -2745,7 +2745,10 @@ static inline void gpiochip_irqchip_free_valid_mask(struct gpio_chip *gpiochip)
|
||||||
*/
|
*/
|
||||||
int gpiochip_generic_request(struct gpio_chip *chip, unsigned offset)
|
int gpiochip_generic_request(struct gpio_chip *chip, unsigned offset)
|
||||||
{
|
{
|
||||||
return pinctrl_gpio_request(chip->gpiodev->base + offset);
|
if (!list_empty(&chip->gpiodev->pin_ranges))
|
||||||
|
return pinctrl_gpio_request(chip->gpiodev->base + offset);
|
||||||
|
|
||||||
|
return 0;
|
||||||
}
|
}
|
||||||
EXPORT_SYMBOL_GPL(gpiochip_generic_request);
|
EXPORT_SYMBOL_GPL(gpiochip_generic_request);
|
||||||
|
|
||||||
|
|
Загрузка…
Ссылка в новой задаче