linux_dsm_epyc7002/drivers/mfd
Milo Kim eea6b7cc53 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>
2012-09-23 20:51:34 +02:00
..
88pm80x.c mfd: Remove __devexit annotation for pm80x_deinit 2012-07-16 15:26:45 +02:00
88pm800.c mfd: core: Push irqdomain mapping out into devices 2012-09-14 09:51:54 +02:00
88pm805.c mfd: core: Push irqdomain mapping out into devices 2012-09-14 09:51:54 +02:00
88pm860x-core.c mfd: 88pm860x: Move initilization code 2012-09-19 12:39:14 +02:00
88pm860x-i2c.c mfd: Convert struct i2c_msg initialization to C99 format 2012-09-21 23:40:34 +02:00
aat2870-core.c mfd: core: Push irqdomain mapping out into devices 2012-09-14 09:51:54 +02:00
ab3100-core.c mfd: ab3100: Split ab3100 headers out of abx500.h 2012-09-14 09:52:15 +02:00
ab3100-otp.c mfd: Fix memory leak in ab3100_otp_probe 2010-08-12 11:27:17 +02:00
ab8500-core.c mfd: ab8500-core: Apply the AB8500 CODEC's compatible string to its MFD cell 2012-09-21 23:40:36 +02:00
ab8500-debugfs.c mfd: Register ab8500 devices using the newly DT:ed MFD API 2012-07-09 00:16:13 +02:00
ab8500-gpadc.c mfd: Register ab8500 devices using the newly DT:ed MFD API 2012-07-09 00:16:13 +02:00
ab8500-sysctrl.c mfd: Register ab8500 devices using the newly DT:ed MFD API 2012-07-09 00:16:13 +02:00
abx500-core.c mfd: Add module.h to the implicit drivers/mfd users 2011-10-31 19:32:04 -04:00
adp5520.c mfd: Guard adp5520 PM methods with CONFIG_PM_SLEEP 2012-07-09 00:16:13 +02:00
arizona-core.c mfd: core: Push irqdomain mapping out into devices 2012-09-14 09:51:54 +02:00
arizona-i2c.c mfd: Initial support for the WM5110 2012-07-16 15:00:32 +02:00
arizona-irq.c mfd: arizona: Remove unused variable 2012-09-14 09:52:12 +02:00
arizona-spi.c mfd: Initial support for the WM5110 2012-07-16 15:00:32 +02:00
arizona.h mfd: Initial support for the WM5110 2012-07-16 15:00:32 +02:00
asic3.c mfd: core: Push irqdomain mapping out into devices 2012-09-14 09:51:54 +02:00
cs5535-mfd.c mfd: core: Push irqdomain mapping out into devices 2012-09-14 09:51:54 +02:00
da903x.c mfd: Set da903x bits if new value is different from the old one 2011-12-20 18:50:56 +01:00
da9052-core.c mfd: core: Push irqdomain mapping out into devices 2012-09-14 09:51:54 +02:00
da9052-i2c.c mfd: Convert da9052 to use devm_* APIs 2012-05-20 17:27:03 +02:00
da9052-spi.c mfd: Convert da9052 to use devm_* APIs 2012-05-20 17:27:03 +02:00
davinci_voicecodec.c mfd: core: Push irqdomain mapping out into devices 2012-09-14 09:51:54 +02:00
db8500-prcmu.c mfd: dbx500: Provide a more accurate smp_twd clock 2012-09-23 20:51:34 +02:00
dbx500-prcmu-regs.h mfd: dbx500: Provide a more accurate smp_twd clock 2012-09-23 20:51:34 +02:00
dm355evm_msp.c mfd: Use gpio_request_one from dm355evm_msp 2012-01-09 00:37:38 +01:00
ezx-pcap.c ARM: pxa: remove irq_to_gpio from ezx-pcap driver 2012-08-09 15:16:41 +02:00
htc-egpio.c mfd: Fold irq_set_chip/irq_set_handler 2011-03-27 00:09:52 +01:00
htc-i2cpld.c mfd: Fold irq_set_chip/irq_set_handler 2011-03-27 00:09:52 +01:00
htc-pasic3.c mfd: core: Push irqdomain mapping out into devices 2012-09-14 09:51:54 +02:00
intel_msic.c mfd: core: Push irqdomain mapping out into devices 2012-09-14 09:51:54 +02:00
janz-cmodio.c mfd: core: Push irqdomain mapping out into devices 2012-09-14 09:51:54 +02:00
jz4740-adc.c mfd: core: Push irqdomain mapping out into devices 2012-09-14 09:51:54 +02:00
Kconfig mfd: Add lp8788 mfd driver 2012-09-23 20:51:34 +02:00
lm3533-core.c mfd: core: Push irqdomain mapping out into devices 2012-09-14 09:51:54 +02:00
lm3533-ctrlbank.c mfd: Use SI-units for the lm3533 max-current interface 2012-05-20 17:27:02 +02:00
lp8788-irq.c mfd: Add lp8788 mfd driver 2012-09-23 20:51:34 +02:00
lp8788.c mfd: Add lp8788 mfd driver 2012-09-23 20:51:34 +02:00
lpc_ich.c mfd: lpc_ich: Add Device IDs for Intel Lynx Point-LP PCH 2012-09-16 00:39:47 +02:00
lpc_sch.c mfd: core: Push irqdomain mapping out into devices 2012-09-14 09:51:54 +02:00
Makefile mfd: Add lp8788 mfd driver 2012-09-23 20:51:34 +02:00
max8907.c mfd: max8907: Add power off control 2012-09-19 12:07:56 +02:00
max8925-core.c mfd: max8925: Remove array in regulator platform data 2012-09-19 12:39:13 +02:00
max8925-i2c.c mfd: Add pm ops to max8925 2012-01-09 01:03:34 +01:00
max8997-irq.c mfd: Add irq domain support for max8997 interrupts 2012-07-09 00:16:13 +02:00
max8997.c mfd: core: Push irqdomain mapping out into devices 2012-09-14 09:51:54 +02:00
max8998-irq.c mfd: Cleanup irq namespace 2011-03-27 00:09:51 +01:00
max8998.c mfd: core: Push irqdomain mapping out into devices 2012-09-14 09:51:54 +02:00
max77686-irq.c mfd: Allow to specify max77686 interrupt through DT or platform file also 2012-07-09 15:13:42 +02:00
max77686.c mfd: core: Push irqdomain mapping out into devices 2012-09-14 09:51:54 +02:00
max77693-irq.c mfd: MAX77693: Fix interrupt handling bug 2012-09-16 00:31:25 +02:00
max77693.c mfd: MAX77693: Fix NULL pointer error when initializing irqs 2012-09-16 00:32:37 +02:00
mc13xxx-core.c mfd: Use devm_* APIs for mc13xxx: remove leftover kfree 2012-09-21 23:40:35 +02:00
mc13xxx-i2c.c mfd: Drop modifying mc13xxx driver's id_table in probe 2012-07-16 15:40:17 +02:00
mc13xxx-spi.c mfd: Drop modifying mc13xxx driver's id_table in probe 2012-07-16 15:40:17 +02:00
mc13xxx.h mfd: Move the mc13xxx-core spi specific code into a separate module 2012-05-01 12:35:40 +02:00
mcp-core.c Disintegrate and delete asm/system.h 2012-03-28 15:58:21 -07:00
mcp-sa11x0.c Disintegrate and delete asm/system.h 2012-03-28 15:58:21 -07:00
menelaus.c Merge branch 'for-next' of git://git.infradead.org/users/sameo/mfd-2.6 2011-11-03 09:40:51 -07:00
mfd-core.c mfd: core: Push irqdomain mapping out into devices 2012-09-14 09:51:54 +02:00
omap-usb-host.c mfd: omap-usb-host: Remove TLL specific code from USB HS core driver 2012-09-21 23:40:33 +02:00
omap-usb-tll.c mfd: omap-usb-tll: HOST TLL platform driver 2012-09-21 23:39:24 +02:00
palmas.c mfd: palmas: Add device tree handling to mfd 2012-09-23 20:41:59 +02:00
pcf50633-adc.c mfd: Convert MFD drivers to use module_platform_driver 2012-01-09 00:37:31 +01:00
pcf50633-core.c mfd: Add missing out of memory check for pcf50633 2012-07-16 15:55:41 +02:00
pcf50633-gpio.c mfd: Include linux/mfd/pcf50633/pmic.h in pcf50633-gpio.c 2012-03-06 18:46:51 +01:00
pcf50633-irq.c mfd: Include linux/mfd/pcf50633/mbc.h in pcf50633-irq.c 2012-03-06 18:46:51 +01:00
pm8xxx-irq.c mfd: Add pm8xxx irq support 2011-05-26 19:45:28 +02:00
pm8921-core.c mfd: Add pm8xxx irq support 2011-05-26 19:45:28 +02:00
rc5t583-irq.c mfd: rc5t583: Fix warning messages 2012-09-23 20:51:33 +02:00
rc5t583.c mfd: rc5t583: Fix warning messages 2012-09-23 20:51:33 +02:00
rdc321x-southbridge.c mfd: core: Push irqdomain mapping out into devices 2012-09-14 09:51:54 +02:00
sec-core.c mfd: core: Push irqdomain mapping out into devices 2012-09-14 09:51:54 +02:00
sec-irq.c mfd: Add s2mps11 irq driver 2012-07-16 14:31:59 +02:00
sm501.c mfd: Use DIV_ROUND_CLOSEST for sm501 clock 2012-03-16 20:37:47 +01:00
sta2x11-mfd.c mfd: core: Push irqdomain mapping out into devices 2012-09-14 09:51:54 +02:00
stmpe-i2c.c Viresh has moved 2012-06-20 14:39:36 -07:00
stmpe-spi.c Viresh has moved 2012-06-20 14:39:36 -07:00
stmpe.c mfd: core: Push irqdomain mapping out into devices 2012-09-14 09:51:54 +02:00
stmpe.h mfd: Add support for stmpe variant 801 2012-01-09 00:37:44 +01:00
syscon.c mfd: Add syscon driver based on regmap 2012-09-17 15:24:14 +02:00
t7l66xb.c mfd: core: Push irqdomain mapping out into devices 2012-09-14 09:51:54 +02:00
tc3589x.c mfd: Enable the tc3589x for Device Tree 2012-09-17 15:03:38 +02:00
tc6387xb.c mfd: core: Push irqdomain mapping out into devices 2012-09-14 09:51:54 +02:00
tc6393xb.c mfd: core: Push irqdomain mapping out into devices 2012-09-14 09:51:54 +02:00
ti-ssp.c mfd: core: Push irqdomain mapping out into devices 2012-09-14 09:51:54 +02:00
timberdale.c mfd: core: Push irqdomain mapping out into devices 2012-09-14 09:51:54 +02:00
timberdale.h [media] mfd: Add timberdale video-in driver to timberdale 2010-12-29 08:16:46 -02:00
tmio_core.c mfd: Add export.h for EXPORT_SYMBOL/THIS_MODULE as required 2011-10-31 19:32:05 -04:00
tps6105x.c mfd: core: Push irqdomain mapping out into devices 2012-09-14 09:51:54 +02:00
tps6507x.c mfd: core: Push irqdomain mapping out into devices 2012-09-14 09:51:54 +02:00
tps6586x.c mfd: dt: tps6586x: Add power off control 2012-09-14 09:52:14 +02:00
tps65010.c mfd: remove IRQF_SAMPLE_RANDOM which is now a no-op 2012-07-19 10:38:33 -04:00
tps65090.c mfd: tps65090: Remove redundant check 2012-09-19 12:44:47 +02:00
tps65217.c mfd: core: Push irqdomain mapping out into devices 2012-09-14 09:51:54 +02:00
tps65910-irq.c mfd: Add tps65910-irq devicetree init and irqdomain support 2012-05-20 17:27:08 +02:00
tps65910.c mfd: dt: tps65910: Add power off control 2012-09-14 09:52:14 +02:00
tps65911-comparator.c Fix typo milivolt => millivolt 2012-04-05 16:58:23 -07:00
tps65912-core.c mfd: core: Push irqdomain mapping out into devices 2012-09-14 09:51:54 +02:00
tps65912-i2c.c mfd: Fix off-by-one value range checking for tps65912_i2c_write 2011-07-31 23:28:25 +02:00
tps65912-irq.c tps65912: irq: add interrupt controller 2011-07-31 23:28:22 +02:00
tps65912-spi.c mfd: Remove redundant spi driver bus initialization 2012-01-09 00:37:31 +01:00
twl4030-audio.c mfd: twl4030-audio: Add DT support 2012-09-18 15:45:05 +02:00
twl4030-irq.c mfd: enable wakeup on twl4030 IRQ. 2012-05-09 18:02:51 +02:00
twl4030-madc.c mfd: Convert MFD drivers to use module_platform_driver 2012-01-09 00:37:31 +01:00
twl4030-power.c ARM: omap: fix section mismatch errors in TWL PMIC driver 2012-02-13 10:00:35 +00:00
twl6030-irq.c mfd: Replace twl-* pr_ macros by the dev_ equivalent and do various cleanups 2012-03-22 13:05:34 +01:00
twl6040-core.c mfd: twl6040: Add twl6040-gpio child 2012-09-19 12:21:20 +02:00
twl6040-irq.c mfd: Add support for Device Tree to twl6040 2012-05-20 17:27:12 +02:00
twl-core.c pwm: Move TWL6030 PWM driver to PWM framework 2012-09-19 12:04:25 +02:00
twl-core.h mfd: Move twl-core IRQ allocation into twl[4030|6030]-irq files 2012-03-22 13:04:33 +01:00
ucb1x00-assabet.c MFD: ucb1x00-assabet: add support for UCB1x00 GPIO switches 2012-02-18 23:15:44 +00:00
ucb1x00-core.c MFD: ucb1x00-core: add wakeup support 2012-02-18 23:15:43 +00:00
ucb1x00-ts.c MFD: ucb1x00: convert to use genirq 2012-02-18 23:15:43 +00:00
ucb1400_core.c Fix common misspellings 2011-03-31 11:26:23 -03:00
vx855.c mfd: core: Push irqdomain mapping out into devices 2012-09-14 09:51:54 +02:00
wl1273-core.c mfd: core: Push irqdomain mapping out into devices 2012-09-14 09:51:54 +02:00
wm831x-auxadc.c mfd: Convert wm831x to irq_domain 2012-05-20 17:27:07 +02:00
wm831x-core.c mfd: core: Push irqdomain mapping out into devices 2012-09-14 09:51:54 +02:00
wm831x-i2c.c mfd: wm831x: Convert to devm_regmap_init() 2012-02-22 13:57:05 +00:00
wm831x-irq.c mfd: Emulate active low IRQs as well as active high IRQs for wm831x 2012-05-20 17:27:14 +02:00
wm831x-otp.c mfd: wm831x: Feed the device UUID into device_add_randomness() 2012-07-19 10:38:31 -04:00
wm831x-spi.c MFD changes for 3.4 2012-03-28 13:56:35 -07:00
wm5102-tables.c mfd: Mark headphone detect readback wm5102 register volatile 2012-07-09 00:46:29 +02:00
wm5110-tables.c mfd: Add data tables for the WM5110 2012-07-16 14:59:56 +02:00
wm8350-core.c mfd: Remove custom wm8350 cache implementation 2012-07-09 00:16:10 +02:00
wm8350-gpio.c mfd: Rename wm8350 static gpio_set_debounce() 2011-09-06 16:37:58 +02:00
wm8350-i2c.c mfd: Add regmap cache support for wm8350 2012-07-09 00:16:10 +02:00
wm8350-irq.c mfd: Rely on regmap cache in wm8350 interrupt controller 2012-07-09 00:16:10 +02:00
wm8350-regmap.c mfd: Remove custom wm8350 cache implementation 2012-07-09 00:16:10 +02:00
wm8400-core.c mfd: core: Push irqdomain mapping out into devices 2012-09-14 09:51:54 +02:00
wm8994-core.c mfd: wm8994: Update WM1811 register patches for latest evaluation 2012-09-14 09:52:12 +02:00
wm8994-irq.c mfd: Support for user defined wm8994 irq flags 2012-07-09 00:16:10 +02:00
wm8994-regmap.c mfd: wm8994: Implement support for WM1811 devices with higher cust_ids 2012-09-14 09:52:11 +02:00
wm8994.h mfd: Initialise WM8994 register cache after reading chip ID registers 2011-12-13 00:11:13 +08:00