]> git.karo-electronics.de Git - linux-beck.git/commitdiff
genirq: Use handle_irq_event() in handle_simple_irq()
authorThomas Gleixner <tglx@linutronix.de>
Mon, 7 Feb 2011 00:21:02 +0000 (01:21 +0100)
committerThomas Gleixner <tglx@linutronix.de>
Sat, 19 Feb 2011 11:58:11 +0000 (12:58 +0100)
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
kernel/irq/chip.c

index 2c30b78445951f427641be5a54e346e466ec2b93..809a03fe7e07a393fd4ab66d1a83ac70fa6513cb 100644 (file)
@@ -448,9 +448,6 @@ static bool irq_check_poll(struct irq_desc *desc)
 void
 handle_simple_irq(unsigned int irq, struct irq_desc *desc)
 {
-       struct irqaction *action;
-       irqreturn_t action_ret;
-
        raw_spin_lock(&desc->lock);
 
        if (unlikely(desc->status & IRQ_INPROGRESS))
@@ -460,19 +457,11 @@ handle_simple_irq(unsigned int irq, struct irq_desc *desc)
        desc->status &= ~(IRQ_REPLAY | IRQ_WAITING);
        kstat_incr_irqs_this_cpu(irq, desc);
 
-       action = desc->action;
-       if (unlikely(!action || (desc->status & IRQ_DISABLED)))
+       if (unlikely(!desc->action || (desc->status & IRQ_DISABLED)))
                goto out_unlock;
 
-       desc->status |= IRQ_INPROGRESS;
-       raw_spin_unlock(&desc->lock);
+       handle_irq_event(desc);
 
-       action_ret = handle_IRQ_event(irq, action);
-       if (!noirqdebug)
-               note_interrupt(irq, desc, action_ret);
-
-       raw_spin_lock(&desc->lock);
-       desc->status &= ~IRQ_INPROGRESS;
 out_unlock:
        raw_spin_unlock(&desc->lock);
 }