linux/drivers/pinctrl
Stephen Warren 652162d469 pinctrl: allow concurrent gpio and mux function ownership of pins
Per recent updates to Documentation/gpio.txt, gpiolib drivers should
inform pinctrl when a GPIO is requested. pinctrl then marks that pin as
in-use for that GPIO function.

When an SoC muxes pins in a group, it's quite possible for the group to
contain e.g. 6 pins, but only 4 of them actually be needed by the HW
module that's mux'd to them. In this case, the other 2 pins could be
used as GPIOs. However, pinctrl marks all the pins within the group as
in-use by the selected mux function. To allow the expected gpiolib
interaction, separate the concepts of pin ownership into two parts: One
for the mux function and one for GPIO usage. Finally, allow those two
ownerships to exist in parallel.

Signed-off-by: Stephen Warren <swarren@nvidia.com>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
2012-03-12 22:43:09 +01:00
..
core.c pinctrl: enhance mapping table to support pin config operations 2012-03-05 11:25:11 +01:00
core.h pinctrl: allow concurrent gpio and mux function ownership of pins 2012-03-12 22:43:09 +01:00
Kconfig Merge branch 'pinctrl-tegra-for-next-diet' into for-next 2012-03-06 23:30:15 +01:00
Makefile Merge branch 'pinctrl-tegra-for-next-diet' into for-next 2012-03-06 23:30:15 +01:00
pinconf.c pinctrl: enhance mapping table to support pin config operations 2012-03-05 11:25:11 +01:00
pinconf.h pinctrl: enhance mapping table to support pin config operations 2012-03-05 11:25:11 +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-tegra.c pinctrl: add a driver for NVIDIA Tegra 2012-03-06 10:51:46 +01:00
pinctrl-tegra.h pinctrl: add a driver for NVIDIA Tegra 2012-03-06 10:51:46 +01:00
pinctrl-tegra20.c pinctrl: add a driver for NVIDIA Tegra 2012-03-06 10:51:46 +01:00
pinctrl-tegra30.c pinctrl: add a driver for NVIDIA Tegra 2012-03-06 10:51:46 +01:00
pinctrl-u300.c pinctrl: spawn U300 pinctrl from the COH901 GPIO 2012-02-22 17:59:33 +01:00
pinmux.c pinctrl: allow concurrent gpio and mux function ownership of pins 2012-03-12 22:43:09 +01:00
pinmux.h pinctrl: enhance mapping table to support pin config operations 2012-03-05 11:25:11 +01:00