[PATCH 0/4] pin controller subsystem v6
Linus Walleij
linus.walleij at stericsson.com
Thu Sep 1 05:31:22 EDT 2011
From: Linus Walleij <linus.walleij at linaro.org>
This is the sixth iteration of the controller subsystem, most
changes are described in the first patch, copied here for reference:
ChangeLog v5->v6:
- Create an abstract pin group concept that can sort pins into
named and enumerated groups no matter what the use of these
groups may be, one possible usecase is a group of pins being
muxed in or so. The intention is however to also use these
groups for other pin control activities.
- Make it compulsory for pinmux functions to associate with
at least one group, so the abstract pin group concept is used
to define the groups of pins affected by a pinmux function.
The pinmux driver interface has been altered so as to enforce
a function to list applicable groups per function.
- Provide an optional .group entry in the pinmux machine map
so the map can select beteween different available groups
to be used with a certain function.
- Consequent changes all over the place so that e.g. debugfs
present reasonable information about the world.
- Drop the per-pin mux (*config) function in the pinmux_ops
struct - I was afraid that this would start to be used for
things totally unrelated to muxing, we can introduce that to
the generic struct pinctrl_ops if needed. I want to keep
muxing orthogonal to other pin control subjects and not mix
these things up.
Linus Walleij (4):
drivers: create a pin control subsystem v6
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 | 876 ++++++++++++++++++++++++
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 | 599 +++++++++++++++++
drivers/pinctrl/core.h | 24 +
drivers/pinctrl/pinmux-u300.c | 931 ++++++++++++++++++++++++++
drivers/pinctrl/pinmux-u300.h | 141 ++++
drivers/pinctrl/pinmux.c | 822 +++++++++++++++++++++++
drivers/pinctrl/pinmux.h | 4 +
include/linux/amba/bus.h | 2 +
include/linux/pinctrl/machine.h | 73 ++
include/linux/pinctrl/pinctrl.h | 172 +++++
include/linux/pinctrl/pinmux.h | 124 ++++
27 files changed, 3935 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