On 2017-01-08 11:23, Jonathan Cameron wrote: > On 04/01/17 12:16, Peter Rosin wrote: >> Add a new minimalistic subsystem that handles multiplexer controllers. >> When multiplexers are used in various places in the kernel, and the >> same multiplexer controller can be used for several independent things, >> there should be one place to implement support for said multiplexer >> controller. >> >> A single multiplexer controller can also be used to control several >> parallel multiplexers, that are in turn used by different subsystems >> in the kernel, leading to a need to coordinate multiplexer accesses. >> The multiplexer subsystem handles this coordination. >> >> This new mux controller subsystem initially comes with a single backend >> driver that controls gpio based multiplexers. Even though not needed by >> this initial driver, the mux controller subsystem is prepared to handle >> chips with multiple (independent) mux controllers. >> >> Signed-off-by: Peter Rosin <peda@xxxxxxxxxx> > Reviewed-by: Jonathan Cameron <jic23@xxxxxxxxxx> >> --- >> Documentation/driver-model/devres.txt | 8 + >> MAINTAINERS | 2 + >> drivers/Kconfig | 2 + >> drivers/Makefile | 1 + >> drivers/mux/Kconfig | 33 +++ >> drivers/mux/Makefile | 6 + >> drivers/mux/mux-core.c | 398 ++++++++++++++++++++++++++++++++++ >> drivers/mux/mux-gpio.c | 120 ++++++++++ >> include/linux/mux.h | 244 +++++++++++++++++++++ >> 9 files changed, 814 insertions(+) >> create mode 100644 drivers/mux/Kconfig >> create mode 100644 drivers/mux/Makefile >> create mode 100644 drivers/mux/mux-core.c >> create mode 100644 drivers/mux/mux-gpio.c >> create mode 100644 include/linux/mux.h >> >> diff --git a/Documentation/driver-model/devres.txt b/Documentation/driver-model/devres.txt >> index dc51fb024190..1e9ae701a587 100644 >> --- a/Documentation/driver-model/devres.txt >> +++ b/Documentation/driver-model/devres.txt >> @@ -332,6 +332,14 @@ MEM >> MFD >> devm_mfd_add_devices() >> >> +MUX >> + devm_mux_chip_alloc() >> + devm_mux_chip_free() >> + devm_mux_chip_register() >> + devm_mux_chip_unregister() >> + devm_mux_control_get() >> + devm_mux_control_put() >> + >> PER-CPU MEM >> devm_alloc_percpu() >> devm_free_percpu() >> diff --git a/MAINTAINERS b/MAINTAINERS >> index 32abef2b6d05..ebe96f3e25a0 100644 >> --- a/MAINTAINERS >> +++ b/MAINTAINERS >> @@ -8442,6 +8442,8 @@ MULTIPLEXER SUBSYSTEM >> M: Peter Rosin <peda@xxxxxxxxxx> >> S: Maintained >> F: Documentation/devicetree/bindings/mux/ >> +F: include/linux/mux.h >> +F: drivers/mux/ >> >> MULTISOUND SOUND DRIVER >> M: Andrew Veliath <andrewtv@xxxxxxx> >> diff --git a/drivers/Kconfig b/drivers/Kconfig >> index e1e2066cecdb..993aeb65affa 100644 >> --- a/drivers/Kconfig >> +++ b/drivers/Kconfig >> @@ -76,6 +76,8 @@ source "drivers/hwmon/Kconfig" >> >> source "drivers/thermal/Kconfig" >> >> +source "drivers/mux/Kconfig" >> + > > Why this location in the list? I think the convention for new subystems is > to just go last in the list. Oh. I'll move it to the end... Thanks for all your acks/reviews! Cheers, peda -- To unsubscribe from this list: send the line "unsubscribe devicetree" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html