This commit was manufactured by cvs2svn to create tag
[linux-2.6.git] / arch / mips / jmr3927 / rbhma3100 / irq.c
index a0dc567..4ab85b5 100644 (file)
@@ -45,8 +45,8 @@
 #include <linux/random.h>
 #include <linux/smp.h>
 #include <linux/smp_lock.h>
-#include <linux/bitops.h>
 
+#include <asm/bitops.h>
 #include <asm/io.h>
 #include <asm/mipsregs.h>
 #include <asm/system.h>
@@ -343,8 +343,7 @@ static struct irqaction pcierr_action = {
 int jmr3927_ether1_irq = 0;
 
 void jmr3927_irq_init(u32 irq_base);
-
-void __init arch_init_irq(void)
+void jmr3927_irq_setup(void)
 {
        /* look for io board's presence */
        int have_isac = jmr3927_have_isac();
@@ -422,6 +421,24 @@ void __init arch_init_irq(void)
        set_c0_status(ST0_IM);  /* IE bit is still 0. */
 }
 
+void (*irq_setup)(void);
+
+void __init init_IRQ(void)
+{
+
+#ifdef CONFIG_KGDB
+        extern void breakpoint(void);
+        extern void set_debug_traps(void);
+
+        puts("Wait for gdb client connection ...\n");
+        set_debug_traps();
+        breakpoint();
+#endif
+
+        /* invoke board-specific irq setup */
+        irq_setup();
+}
+
 static hw_irq_controller jmr3927_irq_controller = {
        "jmr3927_irq",
        jmr3927_irq_startup,
@@ -436,6 +453,7 @@ void jmr3927_irq_init(u32 irq_base)
 {
        u32 i;
 
+       init_generic_irq();
        for (i= irq_base; i< irq_base + JMR3927_NR_IRQ_IRC + JMR3927_NR_IRQ_IOC; i++) {
                irq_desc[i].status = IRQ_DISABLED;
                irq_desc[i].action = NULL;