[PATCH v4 00/18] new MFD LoCoMo driver set

Dmitry Eremin-Solenikov
2015-05-25T11:41:35Z

Sharp Zaurus SL-5500 and SL-5600 use special companion Gate Array.
With this patchset I tried to modernise and restructure the LoCoMo drivers.

* Use platform bus and mfd core code
* Use GPIO API instead of custom locomo GPIO code
* Use irqdomains to manage IRQs
* Split mixed locomolcd driver to lcd and backlight parts
* Implement IRQ handling in GPIO driver
* Implement SPI driver used as a host for mmc_spi device to control SD cards

Changes since v3:
* Removed magic values in locomo irq handling code
* Using mutex in locomokbd driver
* Dropped empty locomokbd_remove
* Small rearrangement of headers/comments/etc in core and input drivers

The following changes since commit b787f68c36d49bb1d9236f403813641efa74a031:

Linux 4.1-rc1 (2015-04-26 17:59:10 -0700)

are available in the git repository at:

git://git.infradead.org/users/dbaryshkov/zaurus.git locomo-v4

for you to fetch changes up to 7c8e8e05ca27a4ad82356eb57ad12a7ca39bfd95:

ARM: drop old LoCoMo driver (2015-05-25 14:29:23 +0300)

----------------------------------------------------------------
Dmitry Eremin-Solenikov (18):
mfd: add new driver for Sharp LoCoMo
leds: port locomo leds driver to new locomo core
input: convert LoCoMo keyboard driver to use new locomo core
input: locomokbd: differentiate between two Enter keys
input: make LoCoMo keyboard driver support both poodle and collie
video: backlight: add new locomo backlight driver
video: lcd: add LoCoMo LCD driver
gpio: port LoCoMo gpio support from old driver
gpio: locomo: implement per-pin irq handling
spi: add locomo SPI driver
i2c: add locomo i2c driver
ARM: sa1100: make collie use new locomo drivers
ARM: sa1100: don't preallocate IRQ space for locomo
ASoC: pxa: poodle: make use of new locomo GPIO interface
ARM: pxa: poodle: use new LoCoMo driver
ARM: pxa: poodle: don't preallocate IRQ space for locomo
video: backlight: drop old locomo bl/lcd driver
ARM: drop old LoCoMo driver

arch/arm/common/Kconfig | 3 -
arch/arm/common/Makefile | 1 -
arch/arm/common/locomo.c | 914 -----------------------------
arch/arm/include/asm/hardware/locomo.h | 221 -------
arch/arm/mach-pxa/Kconfig | 1 -
arch/arm/mach-pxa/include/mach/poodle.h | 8 +-
arch/arm/mach-pxa/poodle.c | 58 +-
arch/arm/mach-sa1100/Kconfig | 1 -
arch/arm/mach-sa1100/collie.c | 213 +++++--
arch/arm/mach-sa1100/include/mach/collie.h | 16 +-
arch/arm/mach-sa1100/include/mach/irqs.h | 19 +-
drivers/gpio/Kconfig | 13 +
drivers/gpio/Makefile | 1 +
drivers/gpio/gpio-locomo.c | 285 +++++++++
drivers/i2c/busses/Kconfig | 12 +
drivers/i2c/busses/Makefile | 1 +
drivers/i2c/busses/i2c-locomo.c | 135 +++++
drivers/input/keyboard/Kconfig | 2 +-
drivers/input/keyboard/locomokbd.c | 262 ++++-----
drivers/leds/Kconfig | 2 +-
drivers/leds/leds-locomo.c | 117 ++--
drivers/mfd/Kconfig | 10 +
drivers/mfd/Makefile | 1 +
drivers/mfd/locomo.c | 336 +++++++++++
drivers/spi/Kconfig | 10 +
drivers/spi/Makefile | 1 +
drivers/spi/spi-locomo.c | 332 +++++++++++
drivers/video/backlight/Kconfig | 16 +-
drivers/video/backlight/Makefile | 3 +-
drivers/video/backlight/locomo_bl.c | 153 +++++
drivers/video/backlight/locomo_lcd.c | 285 +++++++++
drivers/video/backlight/locomolcd.c | 255 --------
include/linux/mfd/locomo.h | 169 ++++++
sound/soc/pxa/poodle.c | 52 +-
34 files changed, 2205 insertions(+), 1703 deletions(-)
delete mode 100644 arch/arm/common/locomo.c
delete mode 100644 arch/arm/include/asm/hardware/locomo.h
create mode 100644 drivers/gpio/gpio-locomo.c
create mode 100644 drivers/i2c/busses/i2c-locomo.c
create mode 100644 drivers/mfd/locomo.c
create mode 100644 drivers/spi/spi-locomo.c
create mode 100644 drivers/video/backlight/locomo_bl.c
create mode 100644 drivers/video/backlight/locomo_lcd.c
delete mode 100644 drivers/video/backlight/locomolcd.c
create mode 100644 include/linux/mfd/locomo.h