pinctrl: allow exlusive GPIO/mux pin allocation
Disallow simultaneous use of the the GPIO and peripheral mux functions by setting a flag "strict" in struct pinctrl_desc. The blackfin pinmux and gpio controller doesn't allow user to set up a pin for both GPIO and peripheral function. So, add flag strict in struct pinctrl_desc to check both gpio_owner and mux_owner before approving the pin request. v2-changes: - if strict flag is set, check gpio_owner and mux_onwer in if and else clause v3-changes: - add kerneldoc for this struct - augment Documentation/pinctrl.txt Signed-off-by: Sonic Zhang <sonic.zhang@analog.com> Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
This commit is contained in:

committed by
Linus Walleij

parent
c30024a644
commit
fa76a3db70
@@ -114,6 +114,8 @@ struct pinctrl_ops {
|
||||
* of the pins field above
|
||||
* @pctlops: pin control operation vtable, to support global concepts like
|
||||
* grouping of pins, this is optional.
|
||||
* @strict: check both gpio_owner and mux_owner strictly before approving
|
||||
the pin request
|
||||
* @pmxops: pinmux operations vtable, if you support pinmuxing in your driver
|
||||
* @confops: pin config operations vtable, if you support pin configuration in
|
||||
* your driver
|
||||
@@ -132,6 +134,7 @@ struct pinctrl_desc {
|
||||
const struct pinctrl_ops *pctlops;
|
||||
const struct pinmux_ops *pmxops;
|
||||
const struct pinconf_ops *confops;
|
||||
bool strict;
|
||||
struct module *owner;
|
||||
#ifdef CONFIG_GENERIC_PINCONF
|
||||
unsigned int num_custom_params;
|
||||
|
Reference in New Issue
Block a user