opal: Remove events notifier
authorAlistair Popple <alistair@popple.id.au>
Fri, 15 May 2015 04:06:44 +0000 (14:06 +1000)
committerMichael Ellerman <mpe@ellerman.id.au>
Fri, 22 May 2015 05:14:38 +0000 (15:14 +1000)
All users of the old opal events notifier have been converted over to
the irq domain so remove the event notifier functions.

Signed-off-by: Alistair Popple <alistair@popple.id.au>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
arch/powerpc/platforms/powernv/opal-irqchip.c
arch/powerpc/platforms/powernv/opal.c
arch/powerpc/platforms/powernv/powernv.h
arch/powerpc/platforms/powernv/setup.c

index bd5125d..841135f 100644 (file)
@@ -100,7 +100,6 @@ void opal_handle_events(uint64_t events)
 {
        int virq, hwirq = 0;
        u64 mask = opal_event_irqchip.mask;
-       u64 notifier_mask = 0;
 
        if (!in_irq() && (events & mask)) {
                last_outstanding_events = events;
@@ -108,19 +107,16 @@ void opal_handle_events(uint64_t events)
                return;
        }
 
-       while (events) {
+       while (events & mask) {
                hwirq = fls64(events) - 1;
-               virq = irq_find_mapping(opal_event_irqchip.domain,
-                                       hwirq);
-               if (virq) {
-                       if (BIT_ULL(hwirq) & mask)
+               if (BIT_ULL(hwirq) & mask) {
+                       virq = irq_find_mapping(opal_event_irqchip.domain,
+                                               hwirq);
+                       if (virq)
                                generic_handle_irq(virq);
-               } else
-                       notifier_mask |= BIT_ULL(hwirq);
+               }
                events &= ~BIT_ULL(hwirq);
        }
-
-       opal_do_notifier(notifier_mask);
 }
 
 static irqreturn_t opal_interrupt(int irq, void *data)
Simple merge