aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux/pinctrl
diff options
context:
space:
mode:
authorLinus Walleij <linus.walleij@linaro.org>2012-02-10 01:34:12 +0100
committerLinus Walleij <linus.walleij@linaro.org>2012-02-10 21:33:10 +0100
commit77a5988355f993840928d195f790a939200a4ff0 (patch)
treeb2590450fb4c5e956ddfc119e6bb610ce53aa8a9 /include/linux/pinctrl
parentbefe5bdfbb698b3bc57c58d0bd7ca3391c9275ed (diff)
downloadkernel_goldelico_gta04-77a5988355f993840928d195f790a939200a4ff0.zip
kernel_goldelico_gta04-77a5988355f993840928d195f790a939200a4ff0.tar.gz
kernel_goldelico_gta04-77a5988355f993840928d195f790a939200a4ff0.tar.bz2
pinctrl: changes hog mechanism to be self-referential
Instead of a specific boolean field to indicate if a map entry shall be hogged, treat self-reference as an indication of desired hogging. This drops one field off the map struct and has a nice Douglas R. Hofstadter-feel to it. Acked-by: Dong Aisheng <dong.aisheng@linaro.org> Acked-by: Stephen Warren <swarren@nvidia.com> Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Diffstat (limited to 'include/linux/pinctrl')
-rw-r--r--include/linux/pinctrl/machine.h18
1 files changed, 6 insertions, 12 deletions
diff --git a/include/linux/pinctrl/machine.h b/include/linux/pinctrl/machine.h
index a2ab524..af145d5 100644
--- a/include/linux/pinctrl/machine.h
+++ b/include/linux/pinctrl/machine.h
@@ -26,13 +26,9 @@
* selects a certain specific pin group to activate for the function, if
* left as NULL, the first applicable group will be used
* @dev_name: the name of the device using this specific mapping, the name
- * must be the same as in your struct device*
- * @hog_on_boot: if this is set to true, the pin control subsystem will itself
- * hog the mappings as the pinmux device drivers are attached, so this is
- * typically used with system maps (mux mappings without an assigned
- * device) that you want to get hogged and enabled by default as soon as
- * a pinmux device supporting it is registered. These maps will not be
- * disabled and put until the system shuts down.
+ * must be the same as in your struct device*. If this name is set to the
+ * same name as the pin controllers own dev_name(), the map entry will be
+ * hogged by the driver itself upon registration
*/
struct pinctrl_map {
const char *name;
@@ -40,7 +36,6 @@ struct pinctrl_map {
const char *function;
const char *group;
const char *dev_name;
- bool hog_on_boot;
};
/*
@@ -62,8 +57,7 @@ struct pinctrl_map {
* to be hogged by the pin control core until the system shuts down.
*/
#define PIN_MAP_SYS_HOG(a, b, c) \
- { .name = a, .ctrl_dev_name = b, .function = c, \
- .hog_on_boot = true }
+ { .name = a, .ctrl_dev_name = b, .dev_name = b, .function = c, }
/*
* Convenience macro to map a system function onto a certain pinctrl device
@@ -71,8 +65,8 @@ struct pinctrl_map {
* system shuts down.
*/
#define PIN_MAP_SYS_HOG_GROUP(a, b, c, d) \
- { .name = a, .ctrl_dev_name = b, .function = c, .group = d, \
- .hog_on_boot = true }
+ { .name = a, .ctrl_dev_name = b, .dev_name = b, .function = c, \
+ .group = d, }
#ifdef CONFIG_PINMUX