vserver 1.9.5.x5
[linux-2.6.git] / arch / mips / au1000 / common / irq.c
index 5104328..d1eb5a4 100644 (file)
@@ -41,8 +41,8 @@
 #include <linux/slab.h>
 #include <linux/random.h>
 #include <linux/delay.h>
+#include <linux/bitops.h>
 
-#include <asm/bitops.h>
 #include <asm/bootinfo.h>
 #include <asm/io.h>
 #include <asm/mipsregs.h>
 #define EXT_INTC1_REQ1 5 /* IP 5 */
 #define MIPS_TIMER_IP  7 /* IP 7 */
 
-#ifdef CONFIG_KGDB
-extern void breakpoint(void);
-#endif
-
 extern asmlinkage void au1000_IRQ(void);
 extern void set_debug_traps(void);
 extern irq_cpustat_t irq_stat [NR_CPUS];
@@ -84,14 +80,13 @@ static inline void mask_and_ack_either_edge_irq(unsigned int irq_nr);
 inline void local_enable_irq(unsigned int irq_nr);
 inline void local_disable_irq(unsigned int irq_nr);
 
-extern void __init init_generic_irq(void);
 void   (*board_init_irq)(void);
 
 #ifdef CONFIG_PM
 extern void counter0_irq(int irq, void *dev_id, struct pt_regs *regs);
 #endif
 
-static spinlock_t irq_lock = SPIN_LOCK_UNLOCKED;
+static DEFINE_SPINLOCK(irq_lock);
 
 
 static unsigned int startup_irq(unsigned int irq_nr)
@@ -420,7 +415,7 @@ static void setup_local_irq(unsigned int irq_nr, int type, int int_req)
 }
 
 
-void __init init_IRQ(void)
+void __init arch_init_irq(void)
 {
        int i;
        unsigned long cp0_status;
@@ -434,8 +429,6 @@ void __init init_IRQ(void)
        memset(irq_desc, 0, sizeof(irq_desc));
        set_except_vector(0, au1000_IRQ);
 
-       init_generic_irq();
-
        /* Initialize interrupt controllers to a safe state.
        */
        au_writel(0xffffffff, IC0_CFG0CLR);
@@ -482,13 +475,6 @@ void __init init_IRQ(void)
        */
        if (board_init_irq)
                (*board_init_irq)();
-
-#ifdef CONFIG_KGDB
-       /* If local serial I/O used for debug port, enter kgdb at once */
-       puts("Waiting for kgdb to connect...");
-       set_debug_traps();
-       breakpoint();
-#endif
 }