diff options
author | Stanimir Varbanov <svarbanov@mm-sol.com> | 2015-03-04 05:41:57 -0500 |
---|---|---|
committer | Linus Walleij <linus.walleij@linaro.org> | 2015-03-09 13:11:01 -0400 |
commit | 407f5e392f9c5b9c16178c5e6b2112234fdf9fad (patch) | |
tree | 329feb6629e8e7c0ce6e7aa9c8c0bacd192d90e0 | |
parent | 38d756af7202c7cb1fde0c132076b0a6acd0d9d7 (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.c | 11 |
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); |