[PATCH 0/4 v5] pin controller subsystem v5
Linus Walleij
linus.walleij at stericsson.com
Mon Aug 29 05:09:49 EDT 2011
From: Linus Walleij <linus.walleij at linaro.org>
This is the fifth iteration of the controller subsystem, most
changes are described in the first patch, copied here for reference:
ChangeLog v4->v5:
- Defined a "position" for each function, so the pin controller now
tracks a function in a certain position, and the pinmux maps define
what position you want the function in. (Feedback from Stephen
Warren and Sascha Hauer).
- Since we now need to request a combined function+position from
the machine mapping table that connect mux settings to drivers,
it was extended with a position field and a name field. The
name field is now used if you e.g. need to switch between two
mux map settings at runtime.
- Switched from a class device to using struct bus_type for this
subsystem. Verified sysfs functionality: seems to work fine.
(Feedback from Arnd Bergmann and Greg Kroah-Hartman)
- Define a per pincontroller list of GPIO ranges from the GPIO
pin space that can be handled by the pin controller. These can
be added one by one at runtime. (Feedback from Barry Song)
- Expanded documentation of regulator_[get|enable|disable|put]
semantics.
- Fixed a number of review comments from Barry Song. (Thanks!)
Linus Walleij (4):
drivers: create a pin control subsystem v5
pinmux: add a driver for the U300 pinmux
amba: request muxing for PrimeCell devices
mach-u300: activate pinmux driver, delete old padmux driver
Documentation/ABI/testing/sysfs-class-pinmux | 11 +
Documentation/pinctrl.txt | 687 ++++++++++++++++++++
MAINTAINERS | 5 +
arch/arm/mach-u300/Kconfig | 2 +
arch/arm/mach-u300/Makefile | 2 +-
arch/arm/mach-u300/core.c | 38 +-
arch/arm/mach-u300/include/mach/syscon.h | 136 ----
arch/arm/mach-u300/mmc.c | 16 -
arch/arm/mach-u300/padmux.c | 367 -----------
arch/arm/mach-u300/padmux.h | 39 --
arch/arm/mach-u300/regulator.c | 16 +
arch/arm/mach-u300/spi.c | 20 -
drivers/Kconfig | 4 +
drivers/Makefile | 2 +
drivers/amba/bus.c | 49 ++-
drivers/pinctrl/Kconfig | 36 +
drivers/pinctrl/Makefile | 7 +
drivers/pinctrl/core.c | 539 ++++++++++++++++
drivers/pinctrl/core.h | 24 +
drivers/pinctrl/pinmux-u300.c | 883 ++++++++++++++++++++++++++
drivers/pinctrl/pinmux-u300.h | 141 ++++
drivers/pinctrl/pinmux.c | 811 +++++++++++++++++++++++
drivers/pinctrl/pinmux.h | 4 +
include/linux/amba/bus.h | 2 +
include/linux/pinctrl/machine.h | 74 +++
include/linux/pinctrl/pinctrl.h | 143 +++++
include/linux/pinctrl/pinmux.h | 135 ++++
27 files changed, 3610 insertions(+), 583 deletions(-)
create mode 100644 Documentation/ABI/testing/sysfs-class-pinmux
create mode 100644 Documentation/pinctrl.txt
delete mode 100644 arch/arm/mach-u300/padmux.c
delete mode 100644 arch/arm/mach-u300/padmux.h
create mode 100644 drivers/pinctrl/Kconfig
create mode 100644 drivers/pinctrl/Makefile
create mode 100644 drivers/pinctrl/core.c
create mode 100644 drivers/pinctrl/core.h
create mode 100644 drivers/pinctrl/pinmux-u300.c
create mode 100644 drivers/pinctrl/pinmux-u300.h
create mode 100644 drivers/pinctrl/pinmux.c
create mode 100644 drivers/pinctrl/pinmux.h
create mode 100644 include/linux/pinctrl/machine.h
create mode 100644 include/linux/pinctrl/pinctrl.h
create mode 100644 include/linux/pinctrl/pinmux.h
--
1.7.3.2
More information about the linux-arm-kernel
mailing list