kernel_optimize_test/drivers/mfd
Lee Jones c94bb233a9 mfd: Make MFD core code Device Tree and IRQ domain aware
During Device Tree enablement of the ab8500 and db8500-prcmu drivers,
a decision was made to omit registration through the MFD API and use
Device Tree directly. However, because MFD devices have a different
address space and the ab8500 and db8500 both use I2C to communicate,
this causes issues with address translation during execution of
of_platform_populate(). So the solution is to make the MFD core aware
of Device Tree and have it assign the correct node pointers instead.

To make this work the MFD core also needs to be awere of IRQ domains,
as Device Tree insists on IRQ domain compatibility. So, instead of
providing an irq-base via platform code, in the DT case we simply
look up the IRQ domain and map to the correct virtual IRQ.

Signed-off-by: Lee Jones <lee.jones@linaro.org>
Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
2012-07-09 00:16:08 +02:00
..
88pm860x-core.c mfd: Fix pm8606 build failure 2012-03-06 18:46:57 +01:00
88pm860x-i2c.c mfd: Add ability to wake the system for 88pm860x 2012-03-06 18:46:49 +01:00
aat2870-core.c simple_open: automatically convert to simple_open() 2012-04-05 15:25:50 -07:00
ab3100-core.c simple_open: automatically convert to simple_open() 2012-04-05 15:25:50 -07:00
ab3100-otp.c
ab5500-core.h mfd: Break out ab5500 debugfs code 2011-10-24 14:09:16 +02:00
ab8500-core.c mfd: Generically describe interactions with the DB8500 PRCMU 2012-07-09 00:16:08 +02:00
ab8500-debugfs.c mfd: Generically describe interactions with the DB8500 PRCMU 2012-07-09 00:16:08 +02:00
ab8500-gpadc.c mfd: Enable IRQF_ONESHOT when requesting a threaded IRQ for ab8500gpadc 2012-07-09 00:16:08 +02:00
ab8500-sysctrl.c mfd: Enable Device Tree support in the ab8500-sysctrl driver 2012-05-20 17:27: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: Set adp5520 bits if new value is different from the old one 2011-12-20 18:50:55 +01:00
anatop-mfd.c mfd: Make anatop register accessor more flexible and rename meaningfully 2012-05-20 17:27:07 +02:00
asic3.c mfd: No need to check for the GPIO offset from asic3_gpio_to_irq 2012-05-01 12:00:23 +02:00
cs5535-mfd.c mfd: Use module_pci_driver 2012-05-01 12:00:21 +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: Remove unused variable from da9052_device_init 2012-07-09 00:16:07 +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
db8500-prcmu.c mfd: Enable DT probing of the DB8500 PRCMU 2012-07-09 00:16:08 +02:00
dbx500-prcmu-regs.h mfd : Check if the other db8500 core is in WFI 2012-03-06 18:46:56 +01:00
dm355evm_msp.c mfd: Use gpio_request_one from dm355evm_msp 2012-01-09 00:37:38 +01:00
ezx-pcap.c
htc-egpio.c
htc-i2cpld.c
htc-pasic3.c
intel_msic.c mfd: Convert Intel MSIC driver to use devm_* interfaces. 2012-05-01 12:00:23 +02:00
janz-cmodio.c mfd: Use module_pci_driver 2012-05-01 12:00:21 +02:00
jz4740-adc.c mfd: Don't declare jz4740_adc_cells const 2012-01-09 00:37:36 +01:00
Kconfig mfd: Make MFD core code Device Tree and IRQ domain aware 2012-07-09 00:16:08 +02:00
lm3533-core.c mfd: Mark two lm3533 zone registers as volatile 2012-05-20 17:27:14 +02:00
lm3533-ctrlbank.c mfd: Use SI-units for the lm3533 max-current interface 2012-05-20 17:27:02 +02:00
lpc_ich.c watchdog: Convert iTCO_wdt driver to mfd model 2012-05-09 17:20:09 +02:00
lpc_sch.c mfd: Change tunnelcreek watchdog name on the lpc_sch subdevices array 2012-05-20 17:27:03 +02:00
Makefile mfd: Add Maxim 77686 driver 2012-07-09 00:16:07 +02:00
max8925-core.c max8925_power: Remove support for irq bits that do not exist 2011-11-25 23:24:45 +04:00
max8925-i2c.c mfd: Add pm ops to max8925 2012-01-09 01:03:34 +01:00
max8997-irq.c mfd: Revert "mfd: add irq domain support for max8997 interrupts" 2012-04-17 14:51:47 +01:00
max8997.c mfd: Revert "mfd: add irq domain support for max8997 interrupts" 2012-04-17 14:51:47 +01:00
max8998-irq.c
max8998.c mfd: Use standard device wakeup for handling max8998 wakeup device 2012-01-09 00:37:36 +01:00
max77686-irq.c mfd: Add Maxim 77686 driver 2012-07-09 00:16:07 +02:00
max77686.c mfd: Add Maxim 77686 driver 2012-07-09 00:16:07 +02:00
max77693-irq.c mfd: Add MAX77693 irq handler 2012-05-20 17:27:06 +02:00
max77693.c mfd: Remove unused max77693 iolock mutex 2012-07-09 00:16:07 +02:00
mc13xxx-core.c mfd: Use devm_* APIs for mc13xxx 2012-07-09 00:16:08 +02:00
mc13xxx-i2c.c mfd: Use devm_* APIs for mc13xxx 2012-07-09 00:16:08 +02:00
mc13xxx-spi.c mfd: Use devm_* APIs for mc13xxx 2012-07-09 00:16:08 +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: Make MFD core code Device Tree and IRQ domain aware 2012-07-09 00:16:08 +02:00
omap-usb-host.c mfd: Fix build breakage in omap-usb-host.c 2012-05-01 12:00:24 +02:00
palmas.c mfd: Add terminating entry for i2c_device_id palmas table 2012-07-09 00:16:07 +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: Convert pcf50633-core to use devm_* APIs 2012-05-20 17:27:04 +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
pm8921-core.c
rc5t583-irq.c mfd: Add support for RICOH PMIC RC5T583 2012-03-16 20:05:45 +01:00
rc5t583.c mfd: Convert rc5t583 to devm_regmap_init_i2c() 2012-05-09 17:50:29 +02:00
rdc321x-southbridge.c mfd: Use module_pci_driver 2012-05-01 12:00:21 +02:00
s5m-core.c mfd: Convert s5m-core to devm_regmap_init_i2c() 2012-05-09 17:50:53 +02:00
s5m-irq.c mfd: Fix s5m error handling for invalid device type 2012-03-06 18:46:35 +01:00
sm501.c mfd: Use DIV_ROUND_CLOSEST for sm501 clock 2012-03-16 20:37:47 +01:00
sta2x11-mfd.c mfd: Add driver for STA2X11 MFD block 2012-05-09 15:34:28 +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: Add support for no-interrupt stmpe config 2012-03-06 18:46:38 +01:00
stmpe.h mfd: Add support for stmpe variant 801 2012-01-09 00:37:44 +01:00
t7l66xb.c mfd: Convert MFD drivers to use module_platform_driver 2012-01-09 00:37:31 +01:00
tc3589x.c mfd: Add missing #ifdef around tc3589x PM block 2011-10-24 14:09:09 +02:00
tc6387xb.c mfd: Convert MFD drivers to use module_platform_driver 2012-01-09 00:37:31 +01:00
tc6393xb.c
ti-ssp.c mfd: Convert MFD drivers to use module_platform_driver 2012-01-09 00:37:31 +01:00
timberdale.c mfd: Convert to DEFINE_PCI_DEVICE_TABLE 2012-01-09 00:37:37 +01:00
timberdale.h
tmio_core.c mfd: Add export.h for EXPORT_SYMBOL/THIS_MODULE as required 2011-10-31 19:32:05 -04:00
tps6105x.c
tps6507x.c
tps6586x.c tps6586x: Add device tree support 2012-05-04 13:25:16 +01:00
tps65010.c
tps65090.c MFD changes for 3.5 2012-05-29 11:53:11 -07:00
tps65217.c mfd: Staticise non-exported tps65217_update_bits() 2012-05-20 17:27:00 +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: Remove the parsing of dt info for tps65910 gpio 2012-05-22 23:49:52 +02:00
tps65911-comparator.c Fix typo milivolt => millivolt 2012-04-05 16:58:23 -07:00
tps65912-core.c mfd: Initialize tps65912 irq platform data properly 2012-03-06 18:46:47 +01:00
tps65912-i2c.c
tps65912-irq.c
tps65912-spi.c mfd: Remove redundant spi driver bus initialization 2012-01-09 00:37:31 +01:00
twl-core.c mfd: Define all twl-regulator feature flags in one place 2012-05-20 17:26:58 +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
twl4030-audio.c mfd: Convert MFD drivers to use module_platform_driver 2012-01-09 00:37:31 +01: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
twl6030-pwm.c
twl6040-core.c mfd: Fix twl6040 build failure 2012-05-23 16:24:14 +02:00
twl6040-irq.c mfd: Add support for Device Tree to twl6040 2012-05-20 17:27:12 +02: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
vx855.c mfd: Use module_pci_driver 2012-05-01 12:00:21 +02:00
wl1273-core.c mfd: Add module.h to the implicit drivers/mfd users 2011-10-31 19:32:04 -04:00
wm831x-auxadc.c mfd: Convert wm831x to irq_domain 2012-05-20 17:27:07 +02:00
wm831x-core.c mfd: Convert wm831x to irq_domain 2012-05-20 17:27:07 +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
wm831x-spi.c MFD changes for 3.4 2012-03-28 13:56:35 -07:00
wm8350-core.c mfd: Convert wm8350 physical I/O to regmap API 2012-05-07 11:32:08 +02:00
wm8350-gpio.c
wm8350-i2c.c mfd: Fix double free in wm8350 error path 2012-05-20 17:27:09 +02:00
wm8350-irq.c mfd: wm8350 variable dereferenced before check 2012-03-06 18:46:34 +01:00
wm8350-regmap.c
wm8400-core.c mfd: Export wm8400_block_read() 2012-05-20 17:27:05 +02:00
wm8994-core.c mfd: Convert wm8994 to module_i2c_driver() 2012-05-07 11:32:09 +02:00
wm8994-irq.c mfd: wm8994: Update to fully use irq_domain 2012-05-15 18:57:25 +01:00
wm8994-regmap.c mfd: Cache wm8994 chip revision 2012-05-01 12:00:21 +02:00
wm8994.h mfd: Initialise WM8994 register cache after reading chip ID registers 2011-12-13 00:11:13 +08:00