diff options
author | Dong Aisheng <dong.aisheng@linaro.org> | 2012-05-14 19:06:37 +0800 |
---|---|---|
committer | Linus Walleij <linus.walleij@linaro.org> | 2012-05-15 09:44:50 +0200 |
commit | 02b50ce4cb1b6aff7d9f1c0c5b4ceb44107bacb4 (patch) | |
tree | 1aabf2f9af80579bda0464c4546ac8370efebcf8 | |
parent | c95df2db2cb5a147b42374f391858232517c0576 (diff) |
pinctrl: make pinmux disable function optional
Some SoCs may not have pinmux disable function in HW.
Acked-by: Stephen Warren <swarren@wwwdotorg.org>
Signed-off-by: Dong Aisheng <dong.aisheng@linaro.org>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
-rw-r--r-- | drivers/pinctrl/pinmux.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/drivers/pinctrl/pinmux.c b/drivers/pinctrl/pinmux.c index 220fa492c9f0..3d5ac73bd5a7 100644 --- a/drivers/pinctrl/pinmux.c +++ b/drivers/pinctrl/pinmux.c @@ -41,8 +41,7 @@ int pinmux_check_ops(struct pinctrl_dev *pctldev) !ops->get_functions_count || !ops->get_function_name || !ops->get_function_groups || - !ops->enable || - !ops->disable) { + !ops->enable) { dev_err(pctldev->dev, "pinmux ops lacks necessary functions\n"); return -EINVAL; } @@ -497,7 +496,8 @@ void pinmux_disable_setting(struct pinctrl_setting const *setting) desc->mux_setting = NULL; } - ops->disable(pctldev, setting->data.mux.func, setting->data.mux.group); + if (ops->disable) + ops->disable(pctldev, setting->data.mux.func, setting->data.mux.group); } #ifdef CONFIG_DEBUG_FS |