]> git.karo-electronics.de Git - karo-tx-linux.git/commit
drivers: create a pin control subsystem
authorLinus Walleij <linus.walleij@linaro.org>
Mon, 2 May 2011 18:50:54 +0000 (20:50 +0200)
committerLinus Walleij <linus.walleij@stericsson.com>
Mon, 10 Oct 2011 12:26:39 +0000 (14:26 +0200)
commitdb3f4f6c9492762b715357bf6cd59ca439ddab0e
tree44276c1d61ee0a96bf74764c13f79fe818fac1b0
parenta102a9ece5489e1718cd7543aa079082450ac3a2
drivers: create a pin control subsystem

This creates a subsystem for handling of pin control devices.
These are devices that control different aspects of package
pins.

Currently it handles pinmuxing, i.e. assigning electronic
functions to groups of pins on primarily PGA and BGA type of
chip packages which are common in embedded systems.

The plan is to also handle other I/O pin control aspects
such as biasing, driving, input properties such as
schmitt-triggering, load capacitance etc within this
subsystem, to remove a lot of ARM arch code as well as
feature-creepy GPIO drivers which are implementing the same
thing over and over again.

This is being done to depopulate the arch/arm/* directory
of such custom drivers and try to abstract the infrastructure
they all need. See the Documentation/pinctrl.txt file that is
part of this patch for more details.

Cc: Grant Likely <grant.likely@secretlab.ca>
Cc: Stijn Devriendt <highguy@gmail.com>
Cc: Joe Perches <joe@perches.com>
Cc: Russell King <linux@arm.linux.org.uk>
Acked-by: Stephen Warren <swarren@nvidia.com>
Tested-by: Barry Song <21cnbao@gmail.com>
[Folded in spelling review comments from post-v9 review]
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
13 files changed:
Documentation/pinctrl.txt [new file with mode: 0644]
MAINTAINERS
drivers/Kconfig
drivers/Makefile
drivers/pinctrl/Kconfig [new file with mode: 0644]
drivers/pinctrl/Makefile [new file with mode: 0644]
drivers/pinctrl/core.c [new file with mode: 0644]
drivers/pinctrl/core.h [new file with mode: 0644]
drivers/pinctrl/pinmux.c [new file with mode: 0644]
drivers/pinctrl/pinmux.h [new file with mode: 0644]
include/linux/pinctrl/machine.h [new file with mode: 0644]
include/linux/pinctrl/pinctrl.h [new file with mode: 0644]
include/linux/pinctrl/pinmux.h [new file with mode: 0644]