aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/pinctrl/core.h
diff options
context:
space:
mode:
authorStephen Warren <swarren@nvidia.com>2011-10-19 18:19:28 -0400
committerLinus Walleij <linus.walleij@linaro.org>2011-10-20 05:50:07 -0400
commit5d2eaf8090874f8e65388e82f7e91f9cef74885e (patch)
tree33ad36c3ddc8674c7d583ceec281cf613293cb13 /drivers/pinctrl/core.h
parent9af1e44fb4a4c62a90bff9b095eb001764d91b65 (diff)
pinctrl: Don't copy function name when requesting a pin
Instead, store a pointer to the currently assigned function. This allows us to delete the mux_requested variable from pin_desc; a pin is requested if its currently assigned function is non-NULL. When a pin is requested as a GPIO rather than a regular function, the assigned function name is dynamically constructed. In this case, we have to kstrdup() the dynamically constructed name, so that mux_function doesn't pointed at stack data. This requires pin_free to be told whether to free the mux_function pointer or not. This removes the hard-coded maximum function name length. Signed-off-by: Stephen Warren <swarren@nvidia.com> Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Diffstat (limited to 'drivers/pinctrl/core.h')
-rw-r--r--drivers/pinctrl/core.h3
1 files changed, 1 insertions, 2 deletions
diff --git a/drivers/pinctrl/core.h b/drivers/pinctrl/core.h
index e431aa537287..472fa1341cc0 100644
--- a/drivers/pinctrl/core.h
+++ b/drivers/pinctrl/core.h
@@ -59,8 +59,7 @@ struct pin_desc {
59 spinlock_t lock; 59 spinlock_t lock;
60 /* These fields only added when supporting pinmux drivers */ 60 /* These fields only added when supporting pinmux drivers */
61#ifdef CONFIG_PINMUX 61#ifdef CONFIG_PINMUX
62 bool mux_requested; 62 const char *mux_function;
63 char mux_function[16];
64#endif 63#endif
65}; 64};
66 65