kernel-ark/arch/arm/kernel
Russell King 9ded96f24c [PATCH] IRQ type flags
Some ARM platforms have the ability to program the interrupt controller to
detect various interrupt edges and/or levels.  For some platforms, this is
critical to setup correctly, particularly those which the setting is dependent
on the device.

Currently, ARM drivers do (eg) the following:

	err = request_irq(irq, ...);

	set_irq_type(irq, IRQT_RISING);

However, if the interrupt has previously been programmed to be level sensitive
(for whatever reason) then this will cause an interrupt storm.

Hence, if we combine set_irq_type() with request_irq(), we can then safely set
the type prior to unmasking the interrupt.  The unfortunate problem is that in
order to support this, these flags need to be visible outside of the ARM
architecture - drivers such as smc91x need these flags and they're
cross-architecture.

Finally, the SA_TRIGGER_* flag passed to request_irq() should reflect the
property that the device would like.  The IRQ controller code should do its
best to select the most appropriate supported mode.

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2006-01-08 20:13:46 -08:00
..
apm.c [ARM] 3229/1: Remove uneeded ARM apm dependency on PM_LEGACY 2006-01-05 20:44:55 +00:00
armksyms.c [ARM] Fix get_user when passed a const pointer 2005-11-18 14:22:03 +00:00
arthur.c [PATCH] fix missing includes 2005-10-30 17:37:32 -08:00
asm-offsets.c [ARM] 3060/1: allow constants found in asm/memory.h to be used in asm code 2005-10-29 21:44:55 +01:00
bios32.c [PATCH] pci and yenta: pcibios_bus_to_resource 2005-08-04 21:32:46 -07:00
calls.S [ARM] Fix sys_sendto and sys_recvfrom 6-arg syscalls 2005-12-17 15:25:42 +00:00
compat.c
debug.S
dma-isa.c [ARM] Remove '__address' from scatterlist and convert to DMA API 2006-01-04 15:08:30 +00:00
dma.c [ARM] Move DMA exports to be next to each function 2006-01-04 15:52:45 +00:00
ecard.c [ARM] Fix second missing declaration of cache_is_vivt() 2005-11-06 19:47:04 +00:00
entry-armv.S [ARM] Cleanup ARM includes 2006-01-03 17:39:34 +00:00
entry-common.S [ARM] Fix sys_sendto and sys_recvfrom 6-arg syscalls 2005-12-17 15:25:42 +00:00
entry-header.S kbuild: arm - use generic asm-offsets.h support 2005-09-09 21:08:59 +02:00
fiq.c
head.S [ARM] Make kernel link address depend on PAGE_OFFSET 2006-01-03 17:28:33 +00:00
init_task.c
io.c [ARM] Fix compiler warnings for memcpy_toio/memcpy_fromio/memset_io 2005-09-24 10:42:06 +01:00
irq.c [PATCH] IRQ type flags 2006-01-08 20:13:46 -08:00
isa.c
iwmmxt.S kbuild: arm - use generic asm-offsets.h support 2005-09-09 21:08:59 +02:00
Makefile [ARM] Refine selection of ISA_DMA_API and generic dma.c code 2006-01-04 15:44:16 +00:00
module.c [ARM] 3205/1: Handle new EABI relocations when loading kernel modules. 2005-12-14 22:04:22 +00:00
process.c [ARM] Cleanup ARM includes 2006-01-03 17:39:34 +00:00
ptrace.c [ARM] 3200/1: Singlestep over ARM BX and BLX instructions using ptrace fix 2005-12-10 11:59:15 +00:00
ptrace.h
semaphore.c [ARM] Fix warning in arch/arm/kernel/semaphore.c 2005-09-18 21:49:29 +01:00
setup.c [ARM] Cleanup ARM includes 2006-01-03 17:39:34 +00:00
signal.c [ARM] 3168/1: Update ARM signal delivery and masking 2005-11-19 10:01:07 +00:00
signal.h
smp.c [ARM] Restore apparant pointless change in arch/arm/kernel/smp.c 2005-11-12 17:21:47 +00:00
sys_arm.c [ARM] 2952/1: fix a register clobber list 2005-10-04 23:17:53 +01:00
time.c [ARM] Cleanup ARM includes 2006-01-03 17:39:34 +00:00
traps.c [ARM] Cleanup ARM includes 2006-01-03 17:39:34 +00:00
vmlinux.lds.S [ARM] Make kernel link address depend on PAGE_OFFSET 2006-01-03 17:28:33 +00:00