6e5e959dde
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> |
||
---|---|---|
.. | ||
core.c | ||
core.h | ||
Kconfig | ||
Makefile | ||
pinconf.c | ||
pinconf.h | ||
pinctrl-coh901.c | ||
pinctrl-mmp2.c | ||
pinctrl-pxa3xx.c | ||
pinctrl-pxa3xx.h | ||
pinctrl-pxa168.c | ||
pinctrl-pxa910.c | ||
pinctrl-sirf.c | ||
pinctrl-u300.c | ||
pinmux.c | ||
pinmux.h |