MIPS: IRQ/IP27: Move IRQ allocation API to platform code.
[linux-drm-fsl-dcu.git] / arch / mips / kernel / irq.c
index c3d831a8c479bea6504d7e6f1699d2ca53ac3f60..8eb5af8059641311bfeb63b25454778a0f7bddde 100644 (file)
 #include <linux/atomic.h>
 #include <asm/uaccess.h>
 
-static DECLARE_BITMAP(irq_map, NR_IRQS);
-
-int allocate_irqno(void)
-{
-       int irq;
-
-again:
-       irq = find_first_zero_bit(irq_map, NR_IRQS);
-
-       if (irq >= NR_IRQS)
-               return -ENOSPC;
-
-       if (test_and_set_bit(irq, irq_map))
-               goto again;
-
-       return irq;
-}
-
-/*
- * Allocate the 16 legacy interrupts for i8259 devices.         This happens early
- * in the kernel initialization so treating allocation failure as BUG() is
- * ok.
- */
-void __init alloc_legacy_irqno(void)
-{
-       int i;
-
-       for (i = 0; i <= 16; i++)
-               BUG_ON(test_and_set_bit(i, irq_map));
-}
-
-void free_irqno(unsigned int irq)
-{
-       smp_mb__before_atomic();
-       clear_bit(irq, irq_map);
-       smp_mb__after_atomic();
-}
-
 /*
  * 'what should we do if we get a hw irq event on an illegal vector'.
  * each architecture has to answer this themselves.