]> git.kernelconcepts.de Git - karo-tx-linux.git/blobdiff - arch/ppc64/kernel/irq.c
Merge /spare/repo/netdev-2.6 branch 'ieee80211'
[karo-tx-linux.git] / arch / ppc64 / kernel / irq.c
index 3defc8c33adf567ad95988ec077174c992dc6ac3..f41afe545045ee6710e58206f83d752dd62df8b0 100644 (file)
@@ -66,7 +66,6 @@ EXPORT_SYMBOL(irq_desc);
 int distribute_irqs = 1;
 int __irq_offset_value;
 int ppc_spurious_interrupts;
-unsigned long lpevent_count;
 u64 ppc64_interrupt_controller;
 
 int show_interrupts(struct seq_file *p, void *v)
@@ -245,7 +244,7 @@ void ppc_irq_dispatch_handler(struct pt_regs *regs, int irq)
 
                spin_lock(&desc->lock);
                if (!noirqdebug)
-                       note_interrupt(irq, desc, action_ret);
+                       note_interrupt(irq, desc, action_ret, regs);
                if (likely(!(desc->status & IRQ_PENDING)))
                        break;
                desc->status &= ~IRQ_PENDING;
@@ -269,7 +268,6 @@ out:
 void do_IRQ(struct pt_regs *regs)
 {
        struct paca_struct *lpaca;
-       struct ItLpQueue *lpq;
 
        irq_enter();
 
@@ -295,9 +293,8 @@ void do_IRQ(struct pt_regs *regs)
                iSeries_smp_message_recv(regs);
        }
 #endif /* CONFIG_SMP */
-       lpq = lpaca->lpqueue_ptr;
-       if (lpq && ItLpQueue_isLpIntPending(lpq))
-               lpevent_count += ItLpQueue_process(lpq, regs);
+       if (hvlpevent_is_pending())
+               process_hvlpevents(regs);
 
        irq_exit();