linux/drivers/mfd
Darren Hart 5829e9b64e mfd: lpc_sch: Accomodate partial population of the MFD devices
The current probe aborts if any of the 3 base address registers are
disabled. On a TunnelCreek system I am working on, this resulted in the
SMBIOS and GPIO devices being removed when it couldn't read the base
address for the watchdog timer.

This patch accommodates partial population of the lpc_sch_cells array and
only aborts if all the base address registers are disabled. A max size
array is allocated and the individual device cells are added to it after
their base addresses are successfully determined. This simplifies the
code a bit by removing the need for the separate tunnelcreek cells array
and combining some of the add/remove logic.

Cc: Grant Likely <grant.likely@secretlab.ca>,
Cc: Denis Turischev <denis@compulab.co.il>,
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
Cc: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Darren Hart <dvhart@linux.intel.com>
Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
2013-02-14 00:26:45 +01:00
..
88pm80x.c mfd: 88pm80x: Remove redundant devm_* calls 2013-02-14 00:22:54 +01:00
88pm800.c mfd: 88pm80x: Remove redundant devm_* calls 2013-02-14 00:22:54 +01:00
88pm805.c mfd: 88pm80x: Remove redundant devm_* calls 2013-02-14 00:22:54 +01:00
88pm860x-core.c mfd: remove use of __devexit 2012-11-28 12:22:27 -08: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-15 23:22:04 +02:00
ab3100-core.c mfd: remove use of __devexit 2012-11-28 12:22:27 -08:00
ab3100-otp.c
ab8500-core.c Merge branch 'abx500-pinctrl-for-mfd' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl into for-next 2013-02-14 00:24:51 +01:00
ab8500-debugfs.c mfd: ab8500: Fix compile error 2013-02-14 00:24:07 +01:00
ab8500-gpadc.c mfd: ab8500-gpadc: Remove unused 'struct ab8500_gpadc' 2013-02-04 08:33:29 +00:00
ab8500-sysctrl.c mfd: ab8500-sysctrl: export read/write symbols 2013-02-04 08:31:33 +00:00
abx500-core.c mfd: abx500-core: Provide an API to dump all ABx500 registers 2013-02-04 08:31:34 +00:00
adp5520.c mfd: remove use of __devexit 2012-11-28 12:22:27 -08:00
arizona-core.c mfd: arizona: Provide platform data for MICBIAS configuration 2013-02-14 00:22:48 +01:00
arizona-i2c.c mfd: remove use of __devexit 2012-11-28 12:22:27 -08:00
arizona-irq.c mfd: arizona: Disable control interface reporting for WM5102 and WM5110 2013-01-22 01:17:29 +01:00
arizona-spi.c mfd: remove use of __devexit 2012-11-28 12:22:27 -08:00
arizona.h mfd: Initial support for the WM5110 2012-07-16 15:00:32 +02:00
as3711.c mfd: Add an AS3711 PMIC MFD driver 2012-11-23 12:09:19 +01:00
asic3.c mfd: remove use of __devexit 2012-11-28 12:22:27 -08:00
cs5535-mfd.c mfd: remove use of __devexit 2012-11-28 12:22:27 -08:00
da903x.c mfd: remove use of __devexit 2012-11-28 12:22:27 -08:00
da9052-core.c This is the MFD patch set for the 3.8 merge window. 2012-12-16 18:55:20 -08:00
da9052-i2c.c mfd: da9052-i2c: Staticize da9052_i2c_fix() 2013-02-14 00:26:41 +01:00
da9052-irq.c mfd: da9052: Introduce da9052-irq.c 2012-11-20 12:21:10 +01:00
da9052-spi.c mfd: remove use of __devexit 2012-11-28 12:22:27 -08:00
da9055-core.c mfd: remove use of __devexit 2012-11-28 12:22:27 -08:00
da9055-i2c.c mfd: remove use of __devexit 2012-11-28 12:22:27 -08:00
davinci_voicecodec.c mfd: remove use of __devexit 2012-11-28 12:22:27 -08:00
db8500-prcmu.c mfd: db8500-prcmu: Add ux500_wdt mfd_cell 2013-02-14 00:22:54 +01: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 mfd: remove use of __devexit 2012-11-28 12:22:27 -08:00
htc-egpio.c
htc-i2cpld.c mfd: remove use of __devinit 2012-11-28 12:20:19 -08:00
htc-pasic3.c mfd: core: Push irqdomain mapping out into devices 2012-09-15 23:22:04 +02:00
intel_msic.c mfd: remove use of __devexit 2012-11-28 12:22:27 -08:00
janz-cmodio.c mfd: remove use of __devexit 2012-11-28 12:22:27 -08:00
jz4740-adc.c This is the MFD patch set for the 3.8 merge window. 2012-12-16 18:55:20 -08:00
Kconfig mfd: Add missing GENERIC_HARDIRQS dependecies 2013-02-14 00:23:59 +01:00
lm3533-core.c mfd: remove use of __devexit 2012-11-28 12:22:27 -08: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: remove use of __devexit 2012-11-28 12:22:27 -08:00
lpc_ich.c mfd: lpc_ich: Fix gpio base and control offsets 2013-02-14 00:22:52 +01:00
lpc_sch.c mfd: lpc_sch: Accomodate partial population of the MFD devices 2013-02-14 00:26:45 +01:00
Makefile mfd: rtsx: Support RTS5227 2013-02-14 00:22:59 +01:00
max8907.c mfd: remove use of __devexit 2012-11-28 12:22:27 -08:00
max8925-core.c mfd: max8925: Fix onkey driver irq base 2013-02-14 00:23:00 +01:00
max8925-i2c.c mfd: max8925: Add irqdomain for dt 2013-02-14 00:23:00 +01:00
max8997-irq.c mfd: Add irq domain support for max8997 interrupts 2012-07-09 00:16:13 +02:00
max8997.c Drivers: mfd: remove __dev* attributes. 2013-01-03 15:57:14 -08:00
max8998-irq.c
max8998.c mfd: core: Push irqdomain mapping out into devices 2012-09-15 23:22:04 +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: max77686: Init max77686->dev before using it 2013-01-22 03:02:21 +01:00
max77693-irq.c mfd: MAX77693: Fix interrupt handling bug 2012-09-16 00:32:57 +02:00
max77693.c mfd: max77693: Init max77693->dev before using it 2013-01-22 03:02:22 +01:00
mc13xxx-core.c mfd: mc13xxx: Add support for mc34708 2012-11-06 23:14:08 +01:00
mc13xxx-i2c.c This is the MFD patch set for the 3.8 merge window. 2012-12-16 18:55:20 -08:00
mc13xxx-spi.c This is the MFD patch set for the 3.8 merge window. 2012-12-16 18:55:20 -08:00
mc13xxx.h mfd: mc13xxx: Add support for mc34708 2012-11-06 23:14:08 +01:00
mcp-core.c Disintegrate and delete asm/system.h 2012-03-28 15:58:21 -07:00
mcp-sa11x0.c ARM: sa1100: move platform_data definitions 2012-09-14 11:18:57 +02:00
menelaus.c ARM: OMAP2: Move plat/menelaus.h to linux/mfd/menelaus.h 2012-10-15 13:53:41 -07:00
mfd-core.c mfd: Only unregister platform devices allocated by the mfd core 2012-11-20 12:21:12 +01:00
omap-usb-host.c mfd: omap-usb-host: get rid of cpu_is_omap..() macros 2012-12-14 11:48:06 -08:00
omap-usb-tll.c ARM: arm-soc: Header cleanups 2012-12-12 11:45:16 -08:00
omap-usb.h ARM: OMAP: move OMAP USB platform data to <linux/platform_data/omap-usb.h> 2012-10-24 14:26:55 -07:00
palmas.c mfd: palmas: Add rtc irq number as irq resource for palmas-rtc 2013-02-14 00:22:44 +01:00
pcf50633-adc.c mfd: remove use of __devexit 2012-11-28 12:22:27 -08:00
pcf50633-core.c mfd: pcf50633: Init pcf->dev before using it 2013-01-22 03:05:33 +01: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: remove use of __devexit 2012-11-28 12:22:27 -08:00
pm8921-core.c mfd: remove use of __devexit 2012-11-28 12:22:27 -08:00
rc5t583-irq.c mfd: rc5t583: Fix array subscript is above array bounds 2012-11-26 12:10:51 +01:00
rc5t583.c mfd: remove use of __devexit 2012-11-28 12:22:27 -08:00
rdc321x-southbridge.c mfd: remove use of __devexit 2012-11-28 12:22:27 -08:00
retu-mfd.c Drivers: mfd: remove __dev* attributes. 2013-01-03 15:57:14 -08:00
rtl8411.c mfd: rtsx: Implement driving adjustment to device-dependent callbacks 2013-02-14 00:22:59 +01:00
rts5209.c mfd: rtsx: Implement driving adjustment to device-dependent callbacks 2013-02-14 00:22:59 +01:00
rts5227.c mfd: rtsx: Support RTS5227 2013-02-14 00:22:59 +01:00
rts5229.c mfd: rtsx: Implement driving adjustment to device-dependent callbacks 2013-02-14 00:22:59 +01:00
rtsx_pcr.c mfd: rtsx: Fix issue that booting OS with SD card inserted 2013-02-14 00:24:12 +01:00
rtsx_pcr.h mfd: rtsx: Support RTS5227 2013-02-14 00:22:59 +01:00
sec-core.c mfd: core: Push irqdomain mapping out into devices 2012-09-15 23:22:04 +02:00
sec-irq.c mfd: sec: Fix reg_offset for interrupt registers 2012-11-26 00:35:08 +01:00
sm501.c mfd: remove use of __devexit 2012-11-28 12:22:27 -08:00
smsc-ece1099.c mfd: smsc: Add support for smsc gpio io/keypad driver 2012-10-01 15:27:48 +02:00
sta2x11-mfd.c Drivers: mfd: remove __dev* attributes. 2013-01-03 15:57:14 -08:00
stmpe-i2c.c This is the MFD patch set for the 3.8 merge window. 2012-12-16 18:55:20 -08:00
stmpe-spi.c mfd: remove use of __devexit 2012-11-28 12:22:27 -08:00
stmpe.c Drivers: mfd: remove __dev* attributes. 2013-01-03 15:57:14 -08:00
stmpe.h mfd: Add support for stmpe variant 801 2012-01-09 00:37:44 +01:00
syscon.c mfd: syscon: Fix sparse warning 2013-02-14 00:26:36 +01:00
t7l66xb.c mfd: core: Push irqdomain mapping out into devices 2012-09-15 23:22:04 +02:00
tc3589x.c mfd: tc3589x: Use simple irqdomain 2013-01-22 03:08:34 +01:00
tc6387xb.c mfd: remove use of __devexit 2012-11-28 12:22:27 -08:00
tc6393xb.c mfd: remove use of __devexit 2012-11-28 12:22:27 -08:00
ti_am335x_tscadc.c Drivers: mfd: remove __dev* attributes. 2013-01-03 15:57:14 -08:00
ti-ssp.c mfd: remove use of __devexit 2012-11-28 12:22:27 -08:00
timberdale.c mfd: remove use of __devexit 2012-11-28 12:22:27 -08:00
timberdale.h
tmio_core.c
tps6105x.c mfd: remove use of __devexit 2012-11-28 12:22:27 -08:00
tps6507x.c mfd: tps6507x: Add DT support 2013-02-14 00:22:54 +01:00
tps6586x.c This is the MFD patch set for the 3.8 merge window. 2012-12-16 18:55:20 -08: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 suspend/resume callbacks 2013-02-14 00:22:56 +01:00
tps65217.c This is the MFD patch set for the 3.8 merge window. 2012-12-16 18:55:20 -08:00
tps65910.c This is the MFD patch set for the 3.8 merge window. 2012-12-16 18:55:20 -08:00
tps65911-comparator.c mfd: remove use of __devexit 2012-11-28 12:22:27 -08:00
tps65912-core.c mfd: core: Push irqdomain mapping out into devices 2012-09-15 23:22:04 +02:00
tps65912-i2c.c
tps65912-irq.c
tps65912-spi.c mfd: remove use of __devexit 2012-11-28 12:22:27 -08:00
tps80031.c Drivers: mfd: remove __dev* attributes. 2013-01-03 15:57:14 -08:00
twl4030-audio.c mfd: remove use of __devexit 2012-11-28 12:22:27 -08:00
twl4030-irq.c This is the MFD patch set for the 3.8 merge window. 2012-12-16 18:55:20 -08:00
twl4030-madc.c This is the MFD patch set for the 3.8 merge window. 2012-12-16 18:55:20 -08:00
twl4030-power.c mfd: twl4030: Don't warn about uninitialized return code 2013-01-27 02:18:01 +01:00
twl6030-irq.c mfd/rtc/gpio: twl: No need to allocate bigger buffer for write 2012-11-21 16:08:00 +01:00
twl6040.c Drivers: mfd: remove __dev* attributes. 2013-01-03 15:57:14 -08:00
twl-core.c mfd: twl-core: Fix kernel panic on boot 2013-02-14 00:26:28 +01: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
vexpress-config.c mfd: vexpress: Export global functions to fix build error 2013-01-22 17:28:34 +01:00
vexpress-sysreg.c mfd: vexpress: Allow vexpress-sysreg to self-initialise 2013-02-14 00:22:59 +01:00
viperboard.c mfd: viperboard: Do version query in dma memory 2012-11-26 11:48:56 +01:00
vx855.c mfd: remove use of __devexit 2012-11-28 12:22:27 -08:00
wl1273-core.c mfd: remove use of __devinit 2012-11-28 12:20:19 -08: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-15 23:22:04 +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: remove use of __devexit 2012-11-28 12:22:27 -08:00
wm5102-tables.c mfd: wm5102: Make DSP scratch registers readable 2013-02-14 00:22:55 +01:00
wm5110-tables.c mfd: wm5110: Add register patches for revision B 2012-09-28 23:57:28 +02:00
wm8350-core.c mfd: Remove custom wm8350 cache implementation 2012-07-09 00:16:10 +02:00
wm8350-gpio.c
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-15 23:22:04 +02:00
wm8994-core.c mfd: wm8994: Use devm_regulator_bulk_get API 2013-02-14 00:22:46 +01:00
wm8994-irq.c mfd: wm8994: Flag the interrupt block as requiring runtime PM be enabled 2012-08-07 20:30:00 +01: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