33 lines
690 B
C
33 lines
690 B
C
/*
|
|
* arch/arm/mach-clps7500/include/mach/irq.h
|
|
*
|
|
* Copyright (C) 1996 Russell King
|
|
* Copyright (C) 1999, 2001 Nexus Electronics Ltd.
|
|
*
|
|
* Changelog:
|
|
* 10-10-1996 RMK Brought up to date with arch-sa110eval
|
|
* 22-08-1998 RMK Restructured IRQ routines
|
|
* 11-08-1999 PJB Created ARM7500 version, derived from RiscPC code
|
|
*/
|
|
|
|
#include <linux/io.h>
|
|
#include <asm/hardware/iomd.h>
|
|
|
|
static inline int fixup_irq(unsigned int irq)
|
|
{
|
|
if (irq == IRQ_ISA) {
|
|
int isabits = *((volatile unsigned int *)0xe002b700);
|
|
if (isabits == 0) {
|
|
printk("Spurious ISA IRQ!\n");
|
|
return irq;
|
|
}
|
|
irq = IRQ_ISA_BASE;
|
|
while (!(isabits & 1)) {
|
|
irq++;
|
|
isabits >>= 1;
|
|
}
|
|
}
|
|
|
|
return irq;
|
|
}
|