patch-2.4.20 linux-2.4.20/arch/mips/sgi-ip22/ip22-int.c
Next file: linux-2.4.20/arch/mips/sgi-ip22/ip22-irq.S
Previous file: linux-2.4.20/arch/mips/sgi-ip22/ip22-gio.c
Back to the patch index
Back to the overall index
- Lines: 74
- Date:
Thu Nov 28 15:53:10 2002
- Orig file:
linux-2.4.19/arch/mips/sgi-ip22/ip22-int.c
- Orig date:
Fri Aug 2 17:39:43 2002
diff -urN linux-2.4.19/arch/mips/sgi-ip22/ip22-int.c linux-2.4.20/arch/mips/sgi-ip22/ip22-int.c
@@ -4,7 +4,7 @@
*
* Copyright (C) 1996 David S. Miller (dm@engr.sgi.com)
* Copyright (C) 1997, 1998 Ralf Baechle (ralf@gnu.org)
- * Copyright (C) 1999 Andrew R. Baker (andrewb@uab.edu)
+ * Copyright (C) 1999 Andrew R. Baker (andrewb@uab.edu)
* - Indigo2 changes
* - Interrupt handling fixes
* Copyright (C) 2001 Ladislav Michl (ladis@psi.cz)
@@ -20,7 +20,6 @@
#include <asm/mipsregs.h>
#include <asm/addrspace.h>
-#include <asm/gdb-stub.h>
#include <asm/sgi/sgint23.h>
#include <asm/sgi/sgihpc.h>
@@ -41,6 +40,7 @@
extern asmlinkage void indyIRQ(void);
extern void do_IRQ(int irq, struct pt_regs *regs);
+extern int ip22_eisa_init (void);
static void enable_local0_irq(unsigned int irq)
{
@@ -187,7 +187,7 @@
{
#ifdef I_REALLY_NEED_THIS_IRQ
unsigned long flags;
-
+
save_and_cli(flags);
ioc_icontrol->imask1 |= (1 << (SGI_MAP_1_IRQ - SGINT_LOCAL1));
ioc_icontrol->cmeimask1 |= (1 << (irq - SGINT_LOCAL3));
@@ -276,7 +276,7 @@
/* if irq == 0, then the interrupt has already been cleared */
if (irq)
do_IRQ(irq, regs);
- return;
+ return;
}
extern void be_ip22_interrupt(int irq, struct pt_regs *regs);
@@ -292,11 +292,11 @@
irq_exit(cpu, irq);
}
-static struct irqaction local0_cascade =
+static struct irqaction local0_cascade =
{ no_action, SA_INTERRUPT, 0, "local0 cascade", NULL, NULL };
-static struct irqaction local1_cascade =
+static struct irqaction local1_cascade =
{ no_action, SA_INTERRUPT, 0, "local1 cascade", NULL, NULL };
-static struct irqaction buserr =
+static struct irqaction buserr =
{ no_action, SA_INTERRUPT, 0, "Bus Error", NULL, NULL };
static struct irqaction map0_cascade =
{ no_action, SA_INTERRUPT, 0, "mappable0 cascade", NULL, NULL };
@@ -409,10 +409,14 @@
setup_irq(SGI_LOCAL_0_IRQ, &local0_cascade);
setup_irq(SGI_LOCAL_1_IRQ, &local1_cascade);
setup_irq(SGI_BUSERR_IRQ, &buserr);
-
+
/* cascade in cascade. i love Indy ;-) */
setup_irq(SGI_MAP_0_IRQ, &map0_cascade);
#ifdef I_REALLY_NEED_THIS_IRQ
setup_irq(SGI_MAP_1_IRQ, &map1_cascade);
#endif
+#ifdef CONFIG_IP22_EISA
+ if (!sgi_guiness) /* Only Indigo-2 have EISA stuff */
+ ip22_eisa_init ();
+#endif
}
FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen (who was at: slshen@lbl.gov)