WSL2-Linux-Kernel/drivers/mfd
Mark Brown 7cc1392aab mfd: Improve WM831x AUXADC completion handling
Currently completion of WM831x AUXADC conversions is monitored by
checking for convertor enable. Due to the mechanism used to ensure
data corruption is avoided when reading AUXADC data there may under
heavy I/O be a window where this bit has cleared but the conversion
results have not been updated. Data availability is only guaranteed
after the AUXADC data interrupt has been asserted.

Avoid this by always using the interrupt to detect completion. If the
chip IRQ is not set up then we poll the IRQ status register for up to
5ms. If it is set up then we rely on the data done interrupt with a
vastly increased timeout, failing the conversion if the interrupt is
not generated.

This also saves a register read when using interrupts.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
2010-05-28 01:37:35 +02:00
..
88pm860x-core.c mfd: Section cleanup of 88pm860x driver 2010-05-28 01:37:31 +02:00
88pm860x-i2c.c mfd: Fix dangling pointers 2010-05-28 01:37:28 +02:00
Kconfig mfd: Janz CMOD-IO PCI MODULbus Carrier Board support 2010-05-28 01:37:32 +02:00
Makefile mfd: Janz CMOD-IO PCI MODULbus Carrier Board support 2010-05-28 01:37:32 +02:00
ab3100-core.c mfd: Fix dangling pointers 2010-05-28 01:37:28 +02:00
ab3100-otp.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
ab4500-core.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
adp5520.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
asic3.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
da903x.c mfd: Fix dangling pointers 2010-05-28 01:37:28 +02:00
davinci_voicecodec.c mfd: update gfp/slab.h includes 2010-04-02 17:07:53 +01:00
dm355evm_msp.c mfd: Correct ro and cd implemantion on DM355 2009-09-17 09:46:54 +02:00
ezx-pcap.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
htc-egpio.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
htc-i2cpld.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
htc-pasic3.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
janz-cmodio.c mfd: Janz CMOD-IO PCI MODULbus Carrier Board support 2010-05-28 01:37:32 +02:00
lpc_sch.c mfd: Introduce lpc_sch for Intel SCH LPC bridge 2010-03-07 22:17:22 +01:00
max8925-core.c mfd: Update irq handler in max8925 2010-03-07 22:17:16 +01:00
max8925-i2c.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
mc13783-core.c leds: Add mc13783 LED support 2010-05-26 13:07:56 +01:00
mcp-core.c move drivers/mfd/*.h to include/linux/mfd 2009-11-27 21:07:18 +01:00
mcp-sa11x0.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
menelaus.c mfd: Fix dangling pointers 2010-05-28 01:37:28 +02:00
mfd-core.c mfd: Check for mem_base when building IORESOURCE_MEM resources 2010-05-28 01:37:31 +02:00
pcf50633-adc.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
pcf50633-core.c mfd: Proper pcf50633 irq check 2010-05-28 01:37:32 +02:00
pcf50633-gpio.c mfd/pcf50633-gpio.c: add MODULE_LICENSE 2009-06-17 19:41:30 +02:00
rdc321x-southbridge.c mfd: Add support for the RDC321x southbridge 2010-05-28 01:37:28 +02:00
sh_mobile_sdhi.c sh: allow platforms to specify SD-card supported voltages 2010-05-22 17:05:22 +09:00
sm501.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
t7l66xb.c mfd: Check t7l66 platform_data pointer 2010-05-28 01:37:26 +02:00
tc6387xb.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
tc6393xb.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
timberdale.c mfd: Add timb-dma to all configurations of timberdale 2010-05-28 01:37:31 +02:00
timberdale.h mfd: Add timb-dma to all configurations of timberdale 2010-05-28 01:37:31 +02:00
tmio_core.c mfd: tmio_mmc hardware abstraction for CNF area 2010-01-18 12:30:27 +01:00
tps65010.c mfd: Fix dangling pointers 2010-05-28 01:37:28 +02:00
twl-core.c OMAP4: PMIC: Rename twl6030_codec as twl6040_codec 2010-03-18 17:04:55 +00:00
twl4030-codec.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
twl4030-irq.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
twl4030-power.c mfd: Introduce remove_script function for twl4030 2010-03-07 22:17:32 +01:00
twl6030-irq.c mfd: Add support for twl6030 irq framework 2009-12-14 00:25:31 +01:00
ucb1x00-assabet.c move drivers/mfd/*.h to include/linux/mfd 2009-11-27 21:07:18 +01:00
ucb1x00-core.c mfd: Fix ucb1x00 build failure for collie_defconfig 2010-03-07 22:17:39 +01:00
ucb1x00-ts.c move drivers/mfd/*.h to include/linux/mfd 2009-11-27 21:07:18 +01:00
ucb1400_core.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
wm831x-core.c mfd: Improve WM831x AUXADC completion handling 2010-05-28 01:37:35 +02:00
wm831x-irq.c mfd: Remove unused wm831x IRQ handler data 2010-05-28 01:37:32 +02:00
wm831x-otp.c mfd: Add basic WM831x OTP support 2009-09-17 09:46:59 +02:00
wm8350-core.c mfd: Clean up after WM83xx AUXADC interrupt if it arrives late 2010-05-13 12:58:55 +02:00
wm8350-gpio.c mfd: Add GPIO pin configuration support for WM8350 2008-10-13 21:51:55 +01:00
wm8350-i2c.c mfd: Fix dangling pointers 2010-05-28 01:37:28 +02:00
wm8350-irq.c mfd: Convert WM8350 to genirq 2010-03-07 22:16:57 +01:00
wm8350-regmap.c mfd: Remove build time warning for WM835x register default tables 2009-12-13 19:21:53 +01:00
wm8400-core.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
wm8994-core.c Merge branch 'topic/asoc' into for-linus 2010-05-20 12:00:43 +02:00
wm8994-irq.c mfd: Add WM8994 interrupt controller support 2010-04-05 19:18:07 +01:00