[ARM] 3918/1: ixp4xx irq-chip rework
authorKevin Hilman <khilman@com.rmk.(none)>
Fri, 3 Nov 2006 00:47:20 +0000 (01:47 +0100)
committerRussell King <rmk+kernel@arm.linux.org.uk>
Fri, 3 Nov 2006 19:52:50 +0000 (19:52 +0000)
commit984d115bbf2d731ed2264031fe49c1378d730db0
tree60159c1d0b21f3214ce0fd530f4a39f2476e3e14
parent8f7f9435e6df0985c877d10259393bdfaac3655f
[ARM] 3918/1: ixp4xx irq-chip rework

This is a rework of the ixp4xx irq_chip implementation.  The use of
two irq_chip structures and potentially switching between them is a
violation of the intended use of the IRQ framework.  The current
implementation does not work with current in-kernel spinlock debugging
or lockdep due to lock recursion problems caused by calling
set_irq_chip/handler from within the chip's set_irq_type().

This patch goes back to using one irq_chip structure and handling the
differences between edge/level, normal/GPIO interrupts inside the
ack/mask/unmask routines themselves.

Signed-off-by: Kevin Hilman <khilman@mvista.com>
Signed-off-by: Deepak Saxena <dsaxena@mvista.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
arch/arm/mach-ixp4xx/common.c