1
linux/drivers/mfd
Russell King 1cef8e4107 mfd: twl4030 irq fixes
The TWL4030 IRQ handler has a bug which leads to spinlock lock-up. It is
calling the 'unmask' function in a process context. :The mask/unmask/ack
functions are only designed to be called from the IRQ handler code,
or the proper API interfaces found in linux/interrupt.h.

Also there is no need to have IRQ chaining mechanism. The right way to
handle this is to claim the parent interrupt as a standard interrupt
and arrange for handle_twl4030_pih to take care of the rest of the devices.

Mail thread on this issue can be found at:
http://marc.info/?l=linux-arm-kernel&m=124629940123396&w=2

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Tested-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
Acked-by: Tony Lindgren <tony@atomide.com>
Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
2009-08-04 20:31:32 +02:00
..
ab3100-core.c mfd: add U300 AB3100 core support 2009-06-17 19:41:34 +02:00
asic3.c mfd: asic3: enable SD/SDIO cell 2009-06-17 19:41:50 +02:00
da903x.c mfd: early init for MFD running regulators 2009-06-17 19:41:54 +02:00
dm355evm_msp.c Input: dm355evm_keys - fix kconfig symbol names 2009-06-28 23:57:44 -07:00
ezx-pcap.c mfd: fix pcap adc locking 2009-07-03 11:54:57 +02:00
htc-egpio.c mfd: fix htc-egpio iomem resource handling using resource_size 2009-02-17 09:00:14 +01:00
htc-pasic3.c mfd: remove driver_data direct access of struct device 2009-06-15 21:30:27 -07:00
Kconfig mfd: asic3: enable DS1WM cell 2009-06-17 19:41:48 +02:00
Makefile mfd: add PCAP driver 2009-06-17 19:41:35 +02:00
mcp-core.c mfd: struct device - replace bus_id with dev_name(), dev_set_name() 2009-03-24 16:38:23 -07:00
mcp-sa11x0.c [ARM] Hide ISA DMA API when ISA_DMA_API is unset 2008-11-29 18:42:40 +00:00
mcp.h
menelaus.c mfd: move drivers/i2c/chips/menelaus.c to drivers/mfd 2009-01-04 12:17:44 +01:00
mfd-core.c mfd: Pass driver_data onto child devices 2009-01-04 12:17:41 +01:00
pcf50633-adc.c mfd: PCF50633 adc driver 2009-01-11 01:34:23 +01:00
pcf50633-core.c mfd: early init for MFD running regulators 2009-06-17 19:41:54 +02:00
pcf50633-gpio.c mfd/pcf50633-gpio.c: add MODULE_LICENSE 2009-06-17 19:41:30 +02:00
sm501.c mfd: sm501, fix lock imbalance 2009-07-03 11:54:50 +02:00
t7l66xb.c mfd: fix tmio related warnings 2009-06-17 19:41:52 +02:00
tc6387xb.c mfd: fix tmio related warnings 2009-06-17 19:41:52 +02:00
tc6393xb.c mfd: fix tmio related warnings 2009-06-17 19:41:52 +02:00
tps65010.c mfd: move drivers/i2c/chips/tps65010.c to drivers/mfd 2009-01-04 12:17:43 +01:00
twl4030-core.c [WATCHDOG] twl4030 watchdog driver 2009-06-20 18:39:43 +00:00
twl4030-irq.c mfd: twl4030 irq fixes 2009-08-04 20:31:32 +02:00
ucb1x00-assabet.c [ARM] Hide ISA DMA API when ISA_DMA_API is unset 2008-11-29 18:42:40 +00:00
ucb1x00-core.c mfd: struct device - replace bus_id with dev_name(), dev_set_name() 2009-03-24 16:38:23 -07:00
ucb1x00-ts.c [ARM] Hide ISA DMA API when ISA_DMA_API is unset 2008-11-29 18:42:40 +00:00
ucb1x00.h MCP_UCB1200: Convert from class_device to device 2008-01-24 20:40:06 -08:00
ucb1400_core.c Input: ucb1400 - move static function from header into core 2009-05-27 06:25:05 -07:00
wm8350-core.c mfd: Keep a cache of WM8350 volatile values 2009-05-19 22:22:28 +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: Add WM8351 support 2009-01-04 12:17:42 +01:00
wm8350-regmap.c mfd: Mark WM8350 mask revision as readable to match silicon 2009-06-17 19:41:29 +02:00
wm8400-core.c mfd: early init for MFD running regulators 2009-06-17 19:41:54 +02:00