[PATCH] pwrseq: bind pinctrl pins before using the gpios

Srinivas Kandagatla srinivas.kandagatla at linaro.org
Mon Aug 17 04:58:07 PDT 2015


Some of the pin-controllers like the Qualcomms "qcom,pm8921", which
require a pinconf to be setup to use pins as gpios. Using the pins
directly without pinconf setup would result in incorrect output voltage
or load settings. On the other hand pwrseq code does not configure the
pinctrl by default as it does not go thru the driver core.

This patch adds a call to pinctrl_bind_pins() to bind pins which
are going to be used as gpios.

Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla at linaro.org>
---
 drivers/mmc/core/pwrseq.c | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/drivers/mmc/core/pwrseq.c b/drivers/mmc/core/pwrseq.c
index 4c1d175..6e5d8b3 100644
--- a/drivers/mmc/core/pwrseq.c
+++ b/drivers/mmc/core/pwrseq.c
@@ -12,6 +12,7 @@
 #include <linux/err.h>
 #include <linux/of.h>
 #include <linux/of_platform.h>
+#include <linux/pinctrl/devinfo.h>
 
 #include <linux/mmc/host.h>
 
@@ -65,6 +66,10 @@ int mmc_pwrseq_alloc(struct mmc_host *host)
 		goto err;
 	}
 
+	ret = pinctrl_bind_pins(&pdev->dev);
+	if (ret)
+		goto err;
+
 	match = mmc_pwrseq_find(np);
 	if (IS_ERR(match)) {
 		ret = PTR_ERR(match);
-- 
1.9.1




More information about the linux-arm-kernel mailing list