aboutsummaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2012-10-02 19:20:20 -0400
committerLinus Torvalds <torvalds@linux-foundation.org>2012-10-02 19:20:20 -0400
commit06fe918e9f177dc2a0592b0ad40a6ce4920b2033 (patch)
treeea58ad79ba9688e8033d8ea762682fc664031b8c /include
parentdff8360a4a079692e65e55fbaa6c5dc605528403 (diff)
parente1b2dc70cd5b00e17c703163a463d82354b1cc76 (diff)
Merge tag 'pinctrl-for-v3.7' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl
Pull pinctrl changes from Linus Walleij: "Some of this stuff is hitting arch/arm/* and have been ACKed by the ARM SoC folks, or it's device tree bindings pertaining to the specific driver. These are the bulk pinctrl changes for kernel v3.7: - Add subdrivers for the DB8540 and NHK8815 Nomadik-type ASICs, provide platform config for the Nomadik. - Add a driver for the i.MX35. - Add a driver for the BCM2835, an advanced GPIO expander. - Various fixes and clean-ups and minor improvements for the core, Nomadik, pinctr-single, sirf drivers. - Some platform config for the ux500." * tag 'pinctrl-for-v3.7' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl: (27 commits) pinctrl: add bcm2835 driver pinctrl: clarify idle vs sleep states pinctrl/nomadik: use irq_find_mapping() pinctrl: sirf: add lost chained_irq_enter and exit in sirfsoc_gpio_handle_irq pinctrl: sirf: initialize the irq_chip pointer of pinctrl_gpio_range pinctrl: sirf: fix spinlock deadlock in sirfsoc_gpio_set_input pinctrl: sirf: add missing pins to pinctrl list pinctrl: sirf: fix a typo in sirfsoc_gpio_probe pinctrl: pinctrl-single: add debugfs pin h/w state info ARM: ux500: 8500: update I2C sleep states pinctrl pinctrl: Fix potential memory leak in pinctrl_register_one_pin() ARM: ux500: tidy up pin sleep modes ARM: ux500: fix spi2 pin group pinctrl: imx: remove duplicated const pinctrl: document semantics vs GPIO ARM: ux500: 8500: use hsit_a_2 group for HSI pinctrl: use kasprintf() in pinmux_request_gpio() pinctrl: pinctrl-single: Add pinctrl-single,bits type of mux pinctrl/nomadik : add MC1_a_2 pin MC1 function group list pinctrl: pinctrl-single: Make sure we do not change bits outside of mask ...
Diffstat (limited to 'include')
-rw-r--r--include/linux/pinctrl/consumer.h2
-rw-r--r--include/linux/pinctrl/pinctrl-state.h15
2 files changed, 11 insertions, 6 deletions
diff --git a/include/linux/pinctrl/consumer.h b/include/linux/pinctrl/consumer.h
index e9b7f4350844..d2816454c263 100644
--- a/include/linux/pinctrl/consumer.h
+++ b/include/linux/pinctrl/consumer.h
@@ -140,7 +140,7 @@ static inline struct pinctrl * __must_check devm_pinctrl_get_select(
140 s = pinctrl_lookup_state(p, name); 140 s = pinctrl_lookup_state(p, name);
141 if (IS_ERR(s)) { 141 if (IS_ERR(s)) {
142 devm_pinctrl_put(p); 142 devm_pinctrl_put(p);
143 return ERR_PTR(PTR_ERR(s)); 143 return ERR_CAST(s);
144 } 144 }
145 145
146 ret = pinctrl_select_state(p, s); 146 ret = pinctrl_select_state(p, s);
diff --git a/include/linux/pinctrl/pinctrl-state.h b/include/linux/pinctrl/pinctrl-state.h
index 634608dc6c89..b5919f8e6d1a 100644
--- a/include/linux/pinctrl/pinctrl-state.h
+++ b/include/linux/pinctrl/pinctrl-state.h
@@ -6,13 +6,18 @@
6 * @PINCTRL_STATE_DEFAULT: the state the pinctrl handle shall be put 6 * @PINCTRL_STATE_DEFAULT: the state the pinctrl handle shall be put
7 * into as default, usually this means the pins are up and ready to 7 * into as default, usually this means the pins are up and ready to
8 * be used by the device driver. This state is commonly used by 8 * be used by the device driver. This state is commonly used by
9 * hogs to configure muxing and pins at boot. 9 * hogs to configure muxing and pins at boot, and also as a state
10 * to go into when returning from sleep and idle in
11 * .pm_runtime_resume() or ordinary .resume() for example.
10 * @PINCTRL_STATE_IDLE: the state the pinctrl handle shall be put into 12 * @PINCTRL_STATE_IDLE: the state the pinctrl handle shall be put into
11 * when the pins are idle. Could typically be set from a 13 * when the pins are idle. This is a state where the system is relaxed
12 * pm_runtime_suspend() operation. 14 * but not fully sleeping - some power may be on but clocks gated for
15 * example. Could typically be set from a pm_runtime_suspend() or
16 * pm_runtime_idle() operation.
13 * @PINCTRL_STATE_SLEEP: the state the pinctrl handle shall be put into 17 * @PINCTRL_STATE_SLEEP: the state the pinctrl handle shall be put into
14 * when the pins are sleeping. Could typically be set from a 18 * when the pins are sleeping. This is a state where the system is in
15 * common suspend() function. 19 * its lowest sleep state. Could typically be set from an
20 * ordinary .suspend() function.
16 */ 21 */
17#define PINCTRL_STATE_DEFAULT "default" 22#define PINCTRL_STATE_DEFAULT "default"
18#define PINCTRL_STATE_IDLE "idle" 23#define PINCTRL_STATE_IDLE "idle"