diff options
author | Paul Mundt <lethal@linux-sh.org> | 2012-09-25 11:51:05 +0900 |
---|---|---|
committer | Paul Mundt <lethal@linux-sh.org> | 2012-09-25 11:51:05 +0900 |
commit | 16d74ebeb1b056dfc80e69b44cc3a26515db1925 (patch) | |
tree | c82eb0ff60ac6ce9e763fb6d01da4bd0ad563bc7 /drivers/sh/pfc | |
parent | 56d27adcb536b7430d5f8a6240df8ad261eb00bd (diff) | |
download | linux-3.10-16d74ebeb1b056dfc80e69b44cc3a26515db1925.tar.gz linux-3.10-16d74ebeb1b056dfc80e69b44cc3a26515db1925.tar.bz2 linux-3.10-16d74ebeb1b056dfc80e69b44cc3a26515db1925.zip |
sh: pfc: Fix up GPIO mux type reconfig case.
Some drivers need to switch pin states between GPIO and pin function at
runtime, which was inadvertently broken in the pinctrl driver for GPIOs
being bound to a specific direction.
This fixes up the request path to ensure that previously configured GPIOs
don't cause us to inadvertently error out with an unsupported mux on
reconfig, which in practice is primarily aimed at trapping pull-up/down
users that have yet to be implemented under the new API.
Fixes up regressions in the TPU PWM driver, amongst others.
Reported-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Tested-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
Diffstat (limited to 'drivers/sh/pfc')
-rw-r--r-- | drivers/sh/pfc/pinctrl.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/sh/pfc/pinctrl.c b/drivers/sh/pfc/pinctrl.c index a3ac39b7919..0646bf6e788 100644 --- a/drivers/sh/pfc/pinctrl.c +++ b/drivers/sh/pfc/pinctrl.c @@ -208,6 +208,8 @@ static int sh_pfc_gpio_request_enable(struct pinctrl_dev *pctldev, break; case PINMUX_TYPE_GPIO: + case PINMUX_TYPE_INPUT: + case PINMUX_TYPE_OUTPUT: break; default: pr_err("Unsupported mux type (%d), bailing...\n", pinmux_type); |