linux/drivers/mfd
Mark Brown 5051d411ec mfd: Clean up after WM83xx AUXADC interrupt if it arrives late
In certain circumstances, especially under heavy load, the AUXADC
completion interrupt may be detected after we've timed out waiting for
it.  That conversion would still succeed but the next conversion will
see the completion that was signalled by the interrupt for the previous
conversion and therefore not wait for the AUXADC conversion to run,
causing it to report failure.

Provide a simple, non-invasive cleanup by using try_wait_for_completion()
to ensure that the completion is not signalled before we wait.  Since
the AUXADC is run within a mutex we know there can only have been at
most one AUXADC interrupt outstanding.  A more involved change should
follow for the next merge window.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
2010-05-13 12:58:55 +02:00
..
88pm860x-core.c mfd: Use genirq in 88pm860x 2010-03-07 22:17:20 +01:00
88pm860x-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
ab3100-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
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 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
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
Kconfig mfd: Several MFD drivers should depend on GENERIC_HARDIRQS 2010-03-12 09:09:00 +01:00
lpc_sch.c mfd: Introduce lpc_sch for Intel SCH LPC bridge 2010-03-07 22:17:22 +01:00
Makefile 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 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
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 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
mfd-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
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 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-gpio.c mfd/pcf50633-gpio.c: add MODULE_LICENSE 2009-06-17 19:41:30 +02:00
sh_mobile_sdhi.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
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 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
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 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.h V4L/DVB: mfd: Add support for the timberdale FPGA 2010-02-26 15:10:56 -03:00
tmio_core.c mfd: tmio_mmc hardware abstraction for CNF area 2010-01-18 12:30:27 +01:00
tps65010.c mfd: Allow configuration of VDCDC2 for tps65010 2009-12-13 19:21:36 +01: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
twl-core.c mfd: Add twl6030 base addr for ID0, ID1, ID2 2010-03-07 22:17:24 +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: Clean up after WM83xx AUXADC interrupt if it arrives late 2010-05-13 12:58:55 +02:00
wm831x-irq.c mfd: Move WM831x to generic IRQ 2009-12-13 19:21:41 +01: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 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
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 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