aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux/sh_pfc.h
diff options
context:
space:
mode:
authorPaul Mundt <lethal@linux-sh.org>2012-07-09 23:08:14 -0400
committerPaul Mundt <lethal@linux-sh.org>2012-07-09 23:08:14 -0400
commitca5481c68e9fbcea62bb3c78ae6cccf99ca8fb73 (patch)
tree977e9adb0bc0b8588b111c851e7d9230d72cd3b3 /include/linux/sh_pfc.h
parent72c7afa10f272710028f244da65d35e571144085 (diff)
sh: pfc: Rudimentary pinctrl-backed GPIO support.
This begins the migration of the PFC core to the pinctrl subsystem. Initial support is very basic, with the bulk of the implementation simply being nopped out in such a way to allow registration with the pinctrl core to succeed. The gpio chip driver is stripped down considerably now relying purely on pinctrl API calls to manage the bulk of its operations. This provides a basis for further PFC refactoring, including decoupling pin functions from the GPIO API, establishing pin groups, and so forth. These will all be dealt with incrementally so as to introduce as few growing and migratory pains to tree-wide PFC pinmux users today. When the interfaces have been well established and in-tree users have been migrated off of the legacy interfaces it will be possible to strip down the core considerably, leading to eventual drivers/pinctrl rehoming. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
Diffstat (limited to 'include/linux/sh_pfc.h')
-rw-r--r--include/linux/sh_pfc.h5
1 files changed, 3 insertions, 2 deletions
diff --git a/include/linux/sh_pfc.h b/include/linux/sh_pfc.h
index 8c4cbcb9064d..c19a0925829a 100644
--- a/include/linux/sh_pfc.h
+++ b/include/linux/sh_pfc.h
@@ -132,6 +132,9 @@ struct sh_pfc {
132/* drivers/sh/pfc/gpio.c */ 132/* drivers/sh/pfc/gpio.c */
133int sh_pfc_register_gpiochip(struct sh_pfc *pfc); 133int sh_pfc_register_gpiochip(struct sh_pfc *pfc);
134 134
135/* drivers/sh/pfc/pinctrl.c */
136int sh_pfc_register_pinctrl(struct sh_pfc *pfc);
137
135/* drivers/sh/pfc/core.c */ 138/* drivers/sh/pfc/core.c */
136int register_sh_pfc(struct sh_pfc *pfc); 139int register_sh_pfc(struct sh_pfc *pfc);
137 140
@@ -144,8 +147,6 @@ int sh_pfc_gpio_to_enum(struct sh_pfc *pfc, unsigned gpio, int pos,
144 pinmux_enum_t *enum_idp); 147 pinmux_enum_t *enum_idp);
145int sh_pfc_config_gpio(struct sh_pfc *pfc, unsigned gpio, int pinmux_type, 148int sh_pfc_config_gpio(struct sh_pfc *pfc, unsigned gpio, int pinmux_type,
146 int cfg_mode); 149 int cfg_mode);
147int sh_pfc_set_direction(struct sh_pfc *pfc, unsigned gpio,
148 int new_pinmux_type);
149 150
150/* xxx */ 151/* xxx */
151static inline int register_pinmux(struct pinmux_info *pip) 152static inline int register_pinmux(struct pinmux_info *pip)