X-Git-Url: https://git.openpandora.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=arch%2Fmips%2Fkernel%2Firq.c;h=4b4007b3083a8f881cef80371e68a2a688c55f32;hb=63a16f90167850010864a9e8ebb71d216983090f;hp=d06e9c9af7909f15637c081883cb282f482a90f7;hpb=37ca506adc395a028cd12760eca419dd0dc14b5c;p=pandora-kernel.git diff --git a/arch/mips/kernel/irq.c b/arch/mips/kernel/irq.c index d06e9c9af790..4b4007b3083a 100644 --- a/arch/mips/kernel/irq.c +++ b/arch/mips/kernel/irq.c @@ -21,11 +21,16 @@ #include #include #include +#include #include #include #include +#ifdef CONFIG_KGDB +int kgdb_early_setup; +#endif + static unsigned long irq_map[NR_IRQS / BITS_PER_LONG]; int allocate_irqno(void) @@ -44,8 +49,6 @@ again: return irq; } -EXPORT_SYMBOL_GPL(allocate_irqno); - /* * Allocate the 16 legacy interrupts for i8259 devices. This happens early * in the kernel initialization so treating allocation failure as BUG() is @@ -66,8 +69,6 @@ void free_irqno(unsigned int irq) smp_mb__after_clear_bit(); } -EXPORT_SYMBOL_GPL(free_irqno); - /* * 'what should we do if we get a hw irq event on an illegal vector'. * each architecture has to answer this themselves. @@ -130,28 +131,22 @@ asmlinkage void spurious_interrupt(void) atomic_inc(&irq_err_count); } -#ifdef CONFIG_KGDB -extern void breakpoint(void); -extern void set_debug_traps(void); - -static int kgdb_flag = 1; -static int __init nokgdb(char *str) +void __init init_IRQ(void) { - kgdb_flag = 0; - return 1; -} -__setup("nokgdb", nokgdb); + int i; + +#ifdef CONFIG_KGDB + if (kgdb_early_setup) + return; #endif -void __init init_IRQ(void) -{ + for (i = 0; i < NR_IRQS; i++) + set_irq_noprobe(i); + arch_init_irq(); #ifdef CONFIG_KGDB - if (kgdb_flag) { - printk("Wait for gdb client connection ...\n"); - set_debug_traps(); - breakpoint(); - } + if (!kgdb_early_setup) + kgdb_early_setup = 1; #endif }