irqchip: bcm7120-l2: Eliminate bad IRQ check
[cascardo/linux.git] / drivers / irqchip / irq-bcm7120-l2.c
index b9f4fb8..7086fe0 100644 (file)
@@ -27,8 +27,6 @@
 
 #include "irqchip.h"
 
-#include <asm/mach/irq.h>
-
 /* Register offset in the L2 interrupt controller */
 #define IRQEN          0x00
 #define IRQSTAT                0x04
@@ -51,19 +49,12 @@ static void bcm7120_l2_intc_irq_handle(unsigned int irq, struct irq_desc *desc)
        chained_irq_enter(chip, desc);
 
        status = __raw_readl(b->base + IRQSTAT);
-
-       if (status == 0) {
-               do_bad_IRQ(irq, desc);
-               goto out;
-       }
-
-       do {
+       while (status) {
                irq = ffs(status) - 1;
                status &= ~(1 << irq);
                generic_handle_irq(irq_find_mapping(b->domain, irq));
-       } while (status);
+       }
 
-out:
        chained_irq_exit(chip, desc);
 }