mfd: Add lp8788 mfd driver
authorMilo Kim <Milo.Kim@ti.com>
Wed, 19 Sep 2012 16:53:33 +0000 (18:53 +0200)
committerSamuel Ortiz <sameo@linux.intel.com>
Sun, 23 Sep 2012 18:51:34 +0000 (20:51 +0200)
commiteea6b7cc53aaecf868e1643058159807c744e04e
tree1922328c8edb85f2c106075c966baa07f15ea831
parent804971ec3793d30f40c1a74775dd3fe89deb461a
mfd: Add lp8788 mfd driver

TI LP8788 PMU provides regulators, battery charger, ADC,
RTC, backlight driver and current sinks.

This MFD patch supports the I2C communication using the regmap,
the interrupt handling using the linear IRQ domain and
configurable platform data structures for each driver module.

 (Driver Architecture)

                                         < mfd devices >
  LP8788 HW  ..........  mfd  .......... regulator drivers
                I2C                      power supply driver
                IRQs                     iio adc driver
                                         rtc driver
                                         backlight driver
                                         current sink drivers

  o regulators    : LDOs and BUCKs
  o power supply  : Battery charger
  o iio adc       : Battery voltage/temperature
  o rtc           : RTC and alarm
  o backlight
  o current sink  : LED and vibrator

All MFD device modules are registered by LP8788 MFD core driver.
For sharing information such like the virtual IRQ number,
MFD core driver uses the resource structure.
Then each module can retrieve the specific IRQ number and detect it
in the IRQ thread.

Configurable platform data is handled in each driver module.

Signed-off-by: Milo(Woogyom) Kim <milo.kim@ti.com>
Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
drivers/mfd/Kconfig
drivers/mfd/Makefile
drivers/mfd/lp8788-irq.c [new file with mode: 0644]
drivers/mfd/lp8788.c [new file with mode: 0644]
include/linux/mfd/lp8788-isink.h [new file with mode: 0644]
include/linux/mfd/lp8788.h [new file with mode: 0644]