mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/chenhuacai/linux-loongson
synced 2025-09-02 08:32:55 +00:00
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>
This commit is contained in:
parent
38d756af72
commit
407f5e392f
@ -193,6 +193,7 @@ static int msm_config_reg(struct msm_pinctrl *pctrl,
|
|||||||
*mask = 7;
|
*mask = 7;
|
||||||
break;
|
break;
|
||||||
case PIN_CONFIG_OUTPUT:
|
case PIN_CONFIG_OUTPUT:
|
||||||
|
case PIN_CONFIG_INPUT_ENABLE:
|
||||||
*bit = g->oe_bit;
|
*bit = g->oe_bit;
|
||||||
*mask = 1;
|
*mask = 1;
|
||||||
break;
|
break;
|
||||||
@ -260,6 +261,12 @@ static int msm_config_group_get(struct pinctrl_dev *pctldev,
|
|||||||
val = readl(pctrl->regs + g->io_reg);
|
val = readl(pctrl->regs + g->io_reg);
|
||||||
arg = !!(val & BIT(g->in_bit));
|
arg = !!(val & BIT(g->in_bit));
|
||||||
break;
|
break;
|
||||||
|
case PIN_CONFIG_INPUT_ENABLE:
|
||||||
|
/* Pin is output */
|
||||||
|
if (arg)
|
||||||
|
return -EINVAL;
|
||||||
|
arg = 1;
|
||||||
|
break;
|
||||||
default:
|
default:
|
||||||
return -ENOTSUPP;
|
return -ENOTSUPP;
|
||||||
}
|
}
|
||||||
@ -330,6 +337,10 @@ static int msm_config_group_set(struct pinctrl_dev *pctldev,
|
|||||||
/* enable output */
|
/* enable output */
|
||||||
arg = 1;
|
arg = 1;
|
||||||
break;
|
break;
|
||||||
|
case PIN_CONFIG_INPUT_ENABLE:
|
||||||
|
/* disable output */
|
||||||
|
arg = 0;
|
||||||
|
break;
|
||||||
default:
|
default:
|
||||||
dev_err(pctrl->dev, "Unsupported config parameter: %x\n",
|
dev_err(pctrl->dev, "Unsupported config parameter: %x\n",
|
||||||
param);
|
param);
|
||||||
|
Loading…
Reference in New Issue
Block a user