dect
/
linux-2.6
Archived
13
0
Fork 0
This repository has been archived on 2022-02-17. You can view files and clone it, but cannot push or open issues or pull requests.
linux-2.6/drivers/pinctrl
Stephen Warren 6e5e959dde pinctrl: API changes to support multiple states per device
The API model is changed from:

p = pinctrl_get(dev, "state1");
pinctrl_enable(p);
...
pinctrl_disable(p);
pinctrl_put(p);
p = pinctrl_get(dev, "state2");
pinctrl_enable(p);
...
pinctrl_disable(p);
pinctrl_put(p);

to this:

p = pinctrl_get(dev);
s1 = pinctrl_lookup_state(p, "state1");
s2 = pinctrl_lookup_state(p, "state2");
pinctrl_select_state(p, s1);
...
pinctrl_select_state(p, s2);
...
pinctrl_put(p);

This allows devices to directly transition between states without
disabling the pin controller programming and put()/get()ing the
configuration data each time. This model will also better suit pinconf
programming, which doesn't have a concept of "disable".

The special-case hogging feature of pin controllers is re-written to use
the regular APIs instead of special-case code. Hence, the pinmux-hogs
debugfs file is removed; see the top-level pinctrl-handles files for
equivalent data.

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>
2012-03-05 11:22:59 +01:00
..
Kconfig pinctrl: enable pinmux for mmp series 2012-02-01 19:42:35 +01:00
Makefile pinctrl: enable pinmux for mmp series 2012-02-01 19:42:35 +01:00
core.c pinctrl: API changes to support multiple states per device 2012-03-05 11:22:59 +01:00
core.h pinctrl: API changes to support multiple states per device 2012-03-05 11:22:59 +01:00
pinconf.c pinctrl: fix and simplify locking 2012-03-05 11:19:49 +01:00
pinconf.h pinctrl: Re-order pinconf.[ch] to match each-other 2012-02-22 17:59:32 +01:00
pinctrl-coh901.c pinctrl: spawn U300 pinctrl from the COH901 GPIO 2012-02-22 17:59:33 +01:00
pinctrl-mmp2.c pinctrl: enable pinmux for mmp series 2012-02-01 19:42:35 +01:00
pinctrl-pxa3xx.c pinctrl: enable pinmux for mmp series 2012-02-01 19:42:35 +01:00
pinctrl-pxa3xx.h pinctrl: enable pinmux for mmp series 2012-02-01 19:42:35 +01:00
pinctrl-pxa168.c pinctrl: enable pinmux for mmp series 2012-02-01 19:42:35 +01:00
pinctrl-pxa910.c pinctrl: enable pinmux for mmp series 2012-02-01 19:42:35 +01:00
pinctrl-sirf.c pinctrl: remove unnecessary max pin number 2012-01-03 09:10:09 +01:00
pinctrl-u300.c pinctrl: spawn U300 pinctrl from the COH901 GPIO 2012-02-22 17:59:33 +01:00
pinmux.c pinctrl: add usecount to pins for muxing 2012-03-05 11:21:46 +01:00
pinmux.h pinctrl: refactor struct pinctrl handling in core.c vs pinmux.c 2012-03-05 11:20:50 +01:00