do not use MULTI_IRQ_HANDLER it is bogus on our platform
[openwrt/staging/chunkeey.git] / target / linux / mcs814x / files-3.3 / arch / arm / mach-mcs814x / irq.c
index cf86734afb5d8d246bb1362635f998e257602b04..c8a3c18cfb6aa51f38ad87f074791d3875754766 100644 (file)
@@ -20,7 +20,7 @@
 #define MCS814X_IRQ_MASK       0x20
 #define MCS814X_IRQ_STS0       0x40
 
-static void __iomem *mcs814x_intc_base;
+void __iomem *mcs814x_intc_base;
 
 static void __init mcs814x_alloc_gc(void __iomem *base, unsigned int irq_start,
                                        unsigned int num)
@@ -47,26 +47,6 @@ static void __init mcs814x_alloc_gc(void __iomem *base, unsigned int irq_start,
        __raw_writel(0xffffffff, base + MCS814X_IRQ_ICR);
 }
 
-asmlinkage void __exception_irq_entry mcs814x_handle_irq(struct pt_regs *regs)
-{
-       u32 status, irq;
-
-       do {
-               /* read the status register */
-               status = __raw_readl(mcs814x_intc_base + MCS814X_IRQ_STS0);
-               if (!status)
-                       break;
-
-               irq = ffs(status) - 1;
-               status |= (1 << irq);
-               /* clear the interrupt */
-               __raw_writel(status, mcs814x_intc_base + MCS814X_IRQ_ICR);
-               /* call the generic handler */
-               handle_IRQ(irq, regs);
-
-       } while (1);
-}
-
 static const struct of_device_id mcs814x_intc_ids[] = {
        { .compatible = "moschip,mcs814x-intc" },
        { /* sentinel */ },