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
..
arch-aaec2000
[ARM] Remove definition of MAX_DMA_CHANNELS to zero
2006-01-04 15:51:51 +00:00
arch-cl7500
[ARM] Remove definition of MAX_DMA_CHANNELS to zero
2006-01-04 15:51:51 +00:00
arch-clps711x
[ARM] Remove definition of MAX_DMA_CHANNELS to zero
2006-01-04 15:51:51 +00:00
arch-ebsa110
[ARM] Remove definition of MAX_DMA_CHANNELS to zero
2006-01-04 15:51:51 +00:00
arch-ebsa285
[ARM] Move common definition of MAX_DMA_ADDRESS to asm/dma.h
2006-01-04 15:30:48 +00:00
arch-epxa10db
[ARM] Remove definition of MAX_DMA_CHANNELS to zero
2006-01-04 15:51:51 +00:00
arch-h720x
[ARM] Include asm/hardware.h instead of asm/arch/hardware.h
2005-11-16 14:51:20 +00:00
arch-imx
[ARM] Remove definition of MAX_DMA_CHANNELS to zero
2006-01-04 15:51:51 +00:00
arch-integrator
[ARM] Move AMBA include files to include/linux/amba/
2006-01-07 13:52:45 +00:00
arch-iop3xx
[ARM] Remove definition of MAX_DMA_CHANNELS to zero
2006-01-04 15:51:51 +00:00
arch-ixp4xx
[ARM] 3226/1: IXP4xx runtime expansion bus window size configuration
2006-01-05 20:59:29 +00:00
arch-ixp2000
[ARM] 3225/1: add symbolic names for enp2611 gpio interrupts
2006-01-04 17:17:17 +00:00
arch-l7200
[ARM] Remove definition of MAX_DMA_CHANNELS to zero
2006-01-04 15:51:51 +00:00
arch-lh7a40x
[ARM] Remove definition of MAX_DMA_CHANNELS to zero
2006-01-04 15:51:51 +00:00
arch-omap
[ARM] Move asm/hardware/clock.h to linux/clk.h
2006-01-07 16:15:52 +00:00
arch-pxa
Merge with Linus' kernel.
2006-01-07 14:40:05 +00:00
arch-realview
[ARM] Move AMBA include files to include/linux/amba/
2006-01-07 13:52:45 +00:00
arch-rpc
[ARM] Cleanup ARM includes
2006-01-03 17:39:34 +00:00
arch-s3c2410
[ARM] Remove definition of MAX_DMA_CHANNELS to zero
2006-01-04 15:51:51 +00:00
arch-sa1100
[ARM] Remove definition of MAX_DMA_CHANNELS to zero
2006-01-04 15:51:51 +00:00
arch-shark
[ARM] 3060/1: allow constants found in asm/memory.h to be used in asm code
2005-10-29 21:44:55 +01:00
arch-versatile
[ARM] Move AMBA include files to include/linux/amba/
2006-01-07 13:52:45 +00:00
hardware
[ARM] Move asm/hardware/clock.h to linux/clk.h
2006-01-07 16:15:52 +00:00
mach
[ARM] Remove '__address' from scatterlist and convert to DMA API
2006-01-04 15:08:30 +00:00
a.out.h
apm.h
assembler.h
[ARM] Clean up save_and_disable_irqs macro and allow use of ARMv6 CPSID
2005-11-09 15:04:22 +00:00
atomic.h
[PATCH] atomic_long_t & include/asm-generic/atomic.h V2
2006-01-06 08:33:29 -08:00
auxvec.h
[PATCH] auxiliary vector cleanups
2005-09-07 16:57:21 -07:00
bitops.h
[FLS64]: generic version
2006-01-03 13:11:06 -08:00
bug.h
[PATCH] qualifiers in return types - easy cases
2005-08-23 18:43:45 -07:00
bugs.h
byteorder.h
[ARM] byteorder.h needs linux/compiler.h
2006-01-07 16:55:50 +00:00
cache.h
[PATCH] Kill L1_CACHE_SHIFT_MAX
2006-01-08 20:13:39 -08:00
cacheflush.h
[ARM] Cleanup ARM includes
2006-01-03 17:39:34 +00:00
checksum.h
cpu-multi32.h
[PATCH] qualifiers in return types - easy cases
2005-08-23 18:43:45 -07:00
cpu-single.h
[PATCH] qualifiers in return types - easy cases
2005-08-23 18:43:45 -07:00
cpu.h
[ARM SMP] Track CPU idle threads
2005-11-02 21:51:40 +00:00
cputime.h
current.h
delay.h
div64.h
dma-mapping.h
[PATCH] gfp_t: dma-mapping (arm)
2005-10-28 08:16:47 -07:00
dma.h
[ARM] Move common definition of MAX_DMA_ADDRESS to asm/dma.h
2006-01-04 15:30:48 +00:00
domain.h
ecard.h
elf.h
[ARM] 3205/1: Handle new EABI relocations when loading kernel modules.
2005-12-14 22:04:22 +00:00
emergency-restart.h
[PATCH] Add emergency_restart()
2005-07-26 14:35:41 -07:00
errno.h
fcntl.h
[PATCH] Clean up struct flock64 definitions
2005-09-07 16:57:38 -07:00
fiq.h
floppy.h
fpstate.h
futex.h
[PATCH] consolidate asm/futex.h
2006-01-08 20:13:39 -08:00
glue.h
hardirq.h
[ARM SMP] Add core ARM support for local timers
2005-11-08 19:08:05 +00:00
hardware.h
ide.h
[PATCH] ARM: 2758/1: Fix comment in file header to read "ARM" instead i386
2005-06-27 15:58:39 +01:00
io.h
[ARM] 3191/1: Mark I/O pointer as const in __raw_reads[bwl]
2005-12-05 10:54:59 +00:00
ioctl.h
ioctls.h
ipc.h
ipcbuf.h
irq.h
[PATCH] IRQ type flags
2006-01-08 20:13:46 -08:00
kmap_types.h
leds.h
limits.h
linkage.h
local.h
locks.h
[ARM] 3019/1: fix wrong comments
2005-10-18 07:51:34 +01:00
mc146818rtc.h
memory.h
[ARM] 3194/1: add pfn_to_kaddr macro for ARM take2
2005-12-05 10:55:00 +00:00
mman.h
[PATCH] madvise(MADV_REMOVE): remove pages from tmpfs shm backing store
2006-01-06 08:33:22 -08:00
mmu.h
mmu_context.h
[ARM] Add linux/compiler.h includes where required
2005-11-16 17:23:57 +00:00
mmzone.h
module.h
msgbuf.h
mtd-xip.h
[MTD] XIP cleanup
2005-07-07 16:50:16 +02:00
namei.h
numnodes.h
[ARM] Add asm/memory.h to asm/numnodes.h
2005-11-21 15:26:18 +00:00
nwflash.h
page.h
[PATCH] mm: consolidate get_order
2005-09-05 00:05:39 -07:00
param.h
parport.h
pci.h
[PATCH] Make sparc64 use setup-res.c
2005-09-08 14:57:25 -07:00
percpu.h
pgalloc.h
[PATCH] ARM: Factor out common pmd_populate functionality
2005-06-22 20:58:29 +01:00
pgtable.h
[PATCH] vm: remove unused/broken page_pte[_prot] macros
2005-10-30 17:37:22 -08:00
poll.h
posix_types.h
proc-fns.h
processor.h
procinfo.h
ptrace.h
resource.h
rtc.h
scatterlist.h
[ARM] Remove '__address' from scatterlist and convert to DMA API
2006-01-04 15:08:30 +00:00
sections.h
segment.h
semaphore-helper.h
semaphore.h
[ARM] sema_count() removal
2005-12-01 20:58:01 +00:00
sembuf.h
serial.h
setup.h
[ARM] 2925/3: earlyparam - postfix section with .init for make buildcheck
2005-09-20 16:25:12 +01:00
shmbuf.h
shmparam.h
sigcontext.h
siginfo.h
signal.h
[ARM] Remove SA_IRQNOMASK
2005-09-26 15:30:20 +01:00
sizes.h
smp.h
[ARM SMP] Add core ARM support for local timers
2005-11-08 19:08:05 +00:00
socket.h
[NET]: Introduce SO_{SND,RCV}BUFFORCE socket options
2005-08-29 15:31:35 -07:00
sockios.h
spinlock.h
[ARM SMP] Use event instructions for spinlocks
2005-12-01 15:47:24 +00:00
spinlock_types.h
[PATCH] spinlock consolidation
2005-09-10 10:06:21 -07:00
stat.h
[PATCH] ARM: Fix new-ABI layout of struct stat64
2005-07-04 13:02:46 +01:00
statfs.h
string.h
suspend.h
system.h
[ARM] No need to include asm/proc-fns.h into asm/system.h
2005-11-16 18:36:49 +00:00
termbits.h
termios.h
therm.h
thread_info.h
[ARM] Add linux/compiler.h includes where required
2005-11-16 17:23:57 +00:00
timex.h
tlb.h
[PATCH] mm: tlb_finish_mmu forget rss
2005-10-29 21:40:37 -07:00
tlbflush.h
[PATCH] ARM SMP: TLB implementations only affect local CPU
2005-06-28 13:40:39 +01:00
topology.h
traps.h
types.h
[PATCH] sab: consolidate kmem_bufctl_t
2005-09-05 00:05:48 -07:00
uaccess.h
[ARM] Fix get_user when passed a const pointer
2005-11-18 14:22:03 +00:00
ucontext.h
unaligned.h
unistd.h
[PATCH] unify sys_ptrace prototype
2005-10-30 17:37:20 -08:00
user.h
vfp.h
vfpmacros.h
vga.h
xor.h