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

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>
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]