diff options
Diffstat (limited to 'include/asm-arm/arch-cl7500/irq.h')
-rw-r--r-- | include/asm-arm/arch-cl7500/irq.h | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/include/asm-arm/arch-cl7500/irq.h b/include/asm-arm/arch-cl7500/irq.h new file mode 100644 index 000000000000..4b286331f3f8 --- /dev/null +++ b/include/asm-arm/arch-cl7500/irq.h | |||
@@ -0,0 +1,32 @@ | |||
1 | /* | ||
2 | * include/asm-arm/arch-cl7500/irq.h | ||
3 | * | ||
4 | * Copyright (C) 1996 Russell King | ||
5 | * Copyright (C) 1999, 2001 Nexus Electronics Ltd. | ||
6 | * | ||
7 | * Changelog: | ||
8 | * 10-10-1996 RMK Brought up to date with arch-sa110eval | ||
9 | * 22-08-1998 RMK Restructured IRQ routines | ||
10 | * 11-08-1999 PJB Created ARM7500 version, derived from RiscPC code | ||
11 | */ | ||
12 | |||
13 | #include <asm/hardware/iomd.h> | ||
14 | #include <asm/io.h> | ||
15 | |||
16 | static inline int fixup_irq(unsigned int irq) | ||
17 | { | ||
18 | if (irq == IRQ_ISA) { | ||
19 | int isabits = *((volatile unsigned int *)0xe002b700); | ||
20 | if (isabits == 0) { | ||
21 | printk("Spurious ISA IRQ!\n"); | ||
22 | return irq; | ||
23 | } | ||
24 | irq = IRQ_ISA_BASE; | ||
25 | while (!(isabits & 1)) { | ||
26 | irq++; | ||
27 | isabits >>= 1; | ||
28 | } | ||
29 | } | ||
30 | |||
31 | return irq; | ||
32 | } | ||