aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/pinctrl/pinconf.h
diff options
context:
space:
mode:
authorStephen Warren <swarren@nvidia.com>2012-03-02 15:05:48 -0500
committerLinus Walleij <linus.walleij@linaro.org>2012-03-05 05:25:11 -0500
commit1e2082b520721734c358f776d34a069867214c8e (patch)
tree4d11e15a4127ad69faf7555864480a6fafe5422c /drivers/pinctrl/pinconf.h
parent6e5e959dde0d92d177f035652aeaa77f9330c9c6 (diff)
pinctrl: enhance mapping table to support pin config operations
The pinctrl mapping table can now contain entries to: * Set the mux function of a pin group * Apply a set of pin config options to a pin or a group This allows pinctrl_select_state() to apply pin configs settings as well as mux settings. v3: Fix find_pinctrl() to iterate over the correct list. s/_MUX_CONFIGS_/_CONFIGS_/ in mapping table macros. Fix documentation to use correct mapping table macro. v2: Added numerous extra PIN_MAP_*() special-case macros. Fixed kerneldoc typo. Delete pinctrl_get_pin_id() and replace it with pin_get_from_name(). Various minor fixes. Updates due to rebase. Signed-off-by: Stephen Warren <swarren@nvidia.com> Acked-by: Dong Aisheng <dong.aisheng@linaro.org> Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Diffstat (limited to 'drivers/pinctrl/pinconf.h')
-rw-r--r--drivers/pinctrl/pinconf.h40
1 files changed, 40 insertions, 0 deletions
diff --git a/drivers/pinctrl/pinconf.h b/drivers/pinctrl/pinconf.h
index 1d6ea9de75fc..0ded227661a5 100644
--- a/drivers/pinctrl/pinconf.h
+++ b/drivers/pinctrl/pinconf.h
@@ -15,6 +15,16 @@
15 15
16int pinconf_check_ops(struct pinctrl_dev *pctldev); 16int pinconf_check_ops(struct pinctrl_dev *pctldev);
17 17
18int pinconf_validate_map(struct pinctrl_map const *map, int i);
19
20int pinconf_map_to_setting(struct pinctrl_map const *map,
21 struct pinctrl_setting *setting);
22void pinconf_free_setting(struct pinctrl_setting const *setting);
23int pinconf_apply_setting(struct pinctrl_setting const *setting);
24
25void pinconf_show_map(struct seq_file *s, struct pinctrl_map const *map);
26void pinconf_show_setting(struct seq_file *s,
27 struct pinctrl_setting const *setting);
18void pinconf_init_device_debugfs(struct dentry *devroot, 28void pinconf_init_device_debugfs(struct dentry *devroot,
19 struct pinctrl_dev *pctldev); 29 struct pinctrl_dev *pctldev);
20 30
@@ -25,6 +35,36 @@ static inline int pinconf_check_ops(struct pinctrl_dev *pctldev)
25 return 0; 35 return 0;
26} 36}
27 37
38static inline int pinconf_validate_map(struct pinctrl_map const *map, int i)
39{
40 return 0;
41}
42
43static inline int pinconf_map_to_setting(struct pinctrl_map const *map,
44 struct pinctrl_setting *setting)
45{
46 return 0;
47}
48
49static inline void pinconf_free_setting(struct pinctrl_setting const *setting)
50{
51}
52
53static inline int pinconf_apply_setting(struct pinctrl_setting const *setting)
54{
55 return 0;
56}
57
58static inline void pinconf_show_map(struct seq_file *s,
59 struct pinctrl_map const *map)
60{
61}
62
63static inline void pinconf_show_setting(struct seq_file *s,
64 struct pinctrl_setting const *setting)
65{
66}
67
28static inline void pinconf_init_device_debugfs(struct dentry *devroot, 68static inline void pinconf_init_device_debugfs(struct dentry *devroot,
29 struct pinctrl_dev *pctldev) 69 struct pinctrl_dev *pctldev)
30{ 70{