summaryrefslogtreecommitdiff
path: root/include/linux/pinctrl/pinmux.h
diff options
context:
space:
mode:
authorLinus Walleij <linus.walleij@linaro.org>2015-05-06 14:19:13 +0200
committerLinus Walleij <linus.walleij@linaro.org>2015-05-06 14:45:19 +0200
commit8c4c2016345feefcd289ce2479eb70286d30825a (patch)
tree91e32d3a1ead85db13b279da466fd147bc04cb4f /include/linux/pinctrl/pinmux.h
parentfa76a3db7093a527333c380df82a0f158d9b8299 (diff)
pinctrl: move strict option to pinmux_ops
While the pinmux_ops are ideally just a vtable for pin mux calls, the "strict" setting belongs so intuitively with the pin multiplexing that we should move it here anyway. Putting it in the top pinctrl_desc makes no sense. Cc: Sonic Zhang <sonic.zhang@analog.com> Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Diffstat (limited to 'include/linux/pinctrl/pinmux.h')
-rw-r--r--include/linux/pinctrl/pinmux.h4
1 files changed, 4 insertions, 0 deletions
diff --git a/include/linux/pinctrl/pinmux.h b/include/linux/pinctrl/pinmux.h
index 511bda9ed4bf..d3740fa7073f 100644
--- a/include/linux/pinctrl/pinmux.h
+++ b/include/linux/pinctrl/pinmux.h
@@ -56,6 +56,9 @@ struct pinctrl_dev;
* depending on whether the GPIO is configured as input or output,
* a direction selector function may be implemented as a backing
* to the GPIO controllers that need pin muxing.
+ * @strict: do not allow simultaneous use of the same pin for GPIO and another
+ * function. Check both gpio_owner and mux_owner strictly before approving
+ * the pin request.
*/
struct pinmux_ops {
int (*request) (struct pinctrl_dev *pctldev, unsigned offset);
@@ -79,6 +82,7 @@ struct pinmux_ops {
struct pinctrl_gpio_range *range,
unsigned offset,
bool input);
+ bool strict;
};
#endif /* CONFIG_PINMUX */