aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorStanimir Varbanov <svarbanov@mm-sol.com>2015-03-04 05:41:57 -0500
committerLinus Walleij <linus.walleij@linaro.org>2015-03-09 13:11:01 -0400
commit407f5e392f9c5b9c16178c5e6b2112234fdf9fad (patch)
tree329feb6629e8e7c0ce6e7aa9c8c0bacd192d90e0
parent38d756af7202c7cb1fde0c132076b0a6acd0d9d7 (diff)
pinctrl: qcom: handle input-enable pinconf property
This enables support of 'input-enable' pinconf generic property in the pinctrl driver. Signed-off-by: Stanimir Varbanov <svarbanov@mm-sol.com> Acked-by: Bjorn Andersson <bjorn.andersson@sonymobile.com> Reviewed-by: Stephen Boyd <sboyd@codeaurora.org> Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
-rw-r--r--drivers/pinctrl/qcom/pinctrl-msm.c11
1 files changed, 11 insertions, 0 deletions
diff --git a/drivers/pinctrl/qcom/pinctrl-msm.c b/drivers/pinctrl/qcom/pinctrl-msm.c
index d36e51172567..f3d800f796c2 100644
--- a/drivers/pinctrl/qcom/pinctrl-msm.c
+++ b/drivers/pinctrl/qcom/pinctrl-msm.c
@@ -193,6 +193,7 @@ static int msm_config_reg(struct msm_pinctrl *pctrl,
193 *mask = 7; 193 *mask = 7;
194 break; 194 break;
195 case PIN_CONFIG_OUTPUT: 195 case PIN_CONFIG_OUTPUT:
196 case PIN_CONFIG_INPUT_ENABLE:
196 *bit = g->oe_bit; 197 *bit = g->oe_bit;
197 *mask = 1; 198 *mask = 1;
198 break; 199 break;
@@ -260,6 +261,12 @@ static int msm_config_group_get(struct pinctrl_dev *pctldev,
260 val = readl(pctrl->regs + g->io_reg); 261 val = readl(pctrl->regs + g->io_reg);
261 arg = !!(val & BIT(g->in_bit)); 262 arg = !!(val & BIT(g->in_bit));
262 break; 263 break;
264 case PIN_CONFIG_INPUT_ENABLE:
265 /* Pin is output */
266 if (arg)
267 return -EINVAL;
268 arg = 1;
269 break;
263 default: 270 default:
264 return -ENOTSUPP; 271 return -ENOTSUPP;
265 } 272 }
@@ -330,6 +337,10 @@ static int msm_config_group_set(struct pinctrl_dev *pctldev,
330 /* enable output */ 337 /* enable output */
331 arg = 1; 338 arg = 1;
332 break; 339 break;
340 case PIN_CONFIG_INPUT_ENABLE:
341 /* disable output */
342 arg = 0;
343 break;
333 default: 344 default:
334 dev_err(pctrl->dev, "Unsupported config parameter: %x\n", 345 dev_err(pctrl->dev, "Unsupported config parameter: %x\n",
335 param); 346 param);