diff options
author | Alistair Popple <alistair@popple.id.au> | 2015-05-15 07:06:44 +0300 |
---|---|---|
committer | Michael Ellerman <mpe@ellerman.id.au> | 2015-05-22 08:14:38 +0300 |
commit | 81f2f7ce4c5bb688ad691cb3ee37e81ca26a8a3b (patch) | |
tree | 5910f163666cb24d6e0d9fdf90c667f61cf236b6 /arch/powerpc/platforms/powernv/opal-irqchip.c | |
parent | 8034f715f0a5fce97b14bacd47eefb1513316b17 (diff) | |
download | linux-81f2f7ce4c5bb688ad691cb3ee37e81ca26a8a3b.tar.xz |
opal: Remove events notifier
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>
Diffstat (limited to 'arch/powerpc/platforms/powernv/opal-irqchip.c')
-rw-r--r-- | arch/powerpc/platforms/powernv/opal-irqchip.c | 16 |
1 files changed, 6 insertions, 10 deletions
diff --git a/arch/powerpc/platforms/powernv/opal-irqchip.c b/arch/powerpc/platforms/powernv/opal-irqchip.c index bd5125dcf0d7..841135f48981 100644 --- a/arch/powerpc/platforms/powernv/opal-irqchip.c +++ b/arch/powerpc/platforms/powernv/opal-irqchip.c @@ -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) |