]> rtime.felk.cvut.cz Git - sojka/nv-tegra/linux-3.10.git/commitdiff
gpio: tegra: bypass pinctrl on gpio request, free on suspend
authorLaxman Dewangan <ldewangan@nvidia.com>
Tue, 18 Aug 2015 11:57:32 +0000 (17:27 +0530)
committermobile promotions <svcmobile_promotions@nvidia.com>
Thu, 20 Aug 2015 10:14:14 +0000 (03:14 -0700)
Bypass the pinctrl APIs from GPIO driver  on gpio request
and gpio free if it is called from suspend.

bug 1650903

Change-Id: Ic5e70015d6d99d976191d67a7ff62b0955993432
Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>
Reviewed-on: http://git-master/r/785378

drivers/gpio/gpio-tegra.c

index 16e4b092708a4695cee03dc0e85e1078fdee2d5c..2d9ef01cc2a10ff80176fa9ca8b5da49248011fa 100644 (file)
@@ -157,12 +157,15 @@ static void tegra_gpio_disable(int gpio)
 
 static int tegra_gpio_request(struct gpio_chip *chip, unsigned offset)
 {
-       return pinctrl_request_gpio(chip->base + offset);
+       if (!bypass_pinconfig)
+               return pinctrl_request_gpio(chip->base + offset);
+       return 0;
 }
 
 static void tegra_gpio_free(struct gpio_chip *chip, unsigned offset)
 {
-       pinctrl_free_gpio(chip->base + offset);
+       if (!bypass_pinconfig)
+               pinctrl_free_gpio(chip->base + offset);
        tegra_gpio_disable(offset);
 }