- Delete patches.fixes/make-note_interrupt-fast.diff.
authorJiri Slaby <jslaby@suse.cz>
Mon, 22 Nov 2010 09:21:28 +0000 (10:21 +0100)
committerJiri Slaby <jslaby@suse.cz>
Mon, 22 Nov 2010 09:21:28 +0000 (10:21 +0100)
- Delete patches.fixes/twl6030-fix-note_interrupt-call.

__do_IRQ from ia64 lapic code is no longer called, because they use
genirqs properly. So these patches don't make sense anymore. If we
need something to do, then it's adding action_ret == IRQ_NONE test
into handle_percpu_irq before jumping into note_interrupt.

suse-commit: facd623a99d90dbb2ecb158dbe9d52c9e2fb3e25

arch/arm/mach-ns9xxx/irq.c
arch/powerpc/platforms/cell/interrupt.c
drivers/mfd/ezx-pcap.c
drivers/mfd/twl4030-irq.c
drivers/mfd/twl6030-irq.c
include/linux/irq.h
kernel/irq/chip.c
kernel/irq/handle.c
kernel/irq/spurious.c

index a5a781c..038f24d 100644 (file)
@@ -85,7 +85,7 @@ static void handle_prio_irq(unsigned int irq, struct irq_desc *desc)
        /* XXX: There is no direct way to access noirqdebug, so check
         * unconditionally for spurious irqs...
         * Maybe this function should go to kernel/irq/chip.c? */
-       note_interrupt(irq, desc, action_ret, false);
+       note_interrupt(irq, desc, action_ret);
 
        raw_spin_lock(&desc->lock);
        desc->status &= ~IRQ_INPROGRESS;
index 614e906..10eb1a4 100644 (file)
@@ -268,7 +268,7 @@ static void handle_iic_irq(unsigned int irq, struct irq_desc *desc)
                raw_spin_unlock(&desc->lock);
                action_ret = handle_IRQ_event(irq, action);
                if (!noirqdebug)
-                       note_interrupt(irq, desc, action_ret, false);
+                       note_interrupt(irq, desc, action_ret);
                raw_spin_lock(&desc->lock);
 
        } while ((desc->status & (IRQ_PENDING | IRQ_DISABLED)) == IRQ_PENDING);
index f240719..c2b698d 100644 (file)
@@ -204,8 +204,7 @@ static void pcap_isr_work(struct work_struct *work)
                                        break;
 
                                if (desc->status & IRQ_DISABLED)
-                                       note_interrupt(irq, desc, IRQ_NONE,
-                                                       false);
+                                       note_interrupt(irq, desc, IRQ_NONE);
                                else
                                        desc->handle_irq(irq, desc);
                        }
index d70f287..5d3a147 100644 (file)
@@ -334,7 +334,7 @@ static int twl4030_irq_thread(void *data)
                                 */
                                if (d->status & IRQ_DISABLED)
                                        note_interrupt(module_irq, d,
-                                                       IRQ_NONE, false);
+                                                       IRQ_NONE);
                                else
                                        d->handle_irq(module_irq, d);
                        }
index 943b0f9..aaedb11 100644 (file)
@@ -146,7 +146,7 @@ static int twl6030_irq_thread(void *data)
                                 */
                                if (d->status & IRQ_DISABLED)
                                        note_interrupt(module_irq, d,
-                                                       IRQ_NONE, false);
+                                                       IRQ_NONE);
                                else
                                        d->handle_irq(module_irq, d);
 
index 273b015..abde252 100644 (file)
@@ -252,7 +252,7 @@ extern void handle_nested_irq(unsigned int irq);
 
 /* Handling of unhandled and spurious interrupts: */
 extern void note_interrupt(unsigned int irq, struct irq_desc *desc,
-                          irqreturn_t action_ret, bool only_fixup);
+                          irqreturn_t action_ret);
 
 
 /* Enable/disable irq debugging output: */
index 93758ec..baa5c4a 100644 (file)
@@ -436,7 +436,7 @@ void handle_nested_irq(unsigned int irq)
 
        action_ret = action->thread_fn(action->irq, action->dev_id);
        if (!noirqdebug)
-               note_interrupt(irq, desc, action_ret, false);
+               note_interrupt(irq, desc, action_ret);
 
        raw_spin_lock_irq(&desc->lock);
        desc->status &= ~IRQ_INPROGRESS;
@@ -480,7 +480,7 @@ handle_simple_irq(unsigned int irq, struct irq_desc *desc)
 
        action_ret = handle_IRQ_event(irq, action);
        if (!noirqdebug)
-               note_interrupt(irq, desc, action_ret, false);
+               note_interrupt(irq, desc, action_ret);
 
        raw_spin_lock(&desc->lock);
        desc->status &= ~IRQ_INPROGRESS;
@@ -525,7 +525,7 @@ handle_level_irq(unsigned int irq, struct irq_desc *desc)
 
        action_ret = handle_IRQ_event(irq, action);
        if (!noirqdebug)
-               note_interrupt(irq, desc, action_ret, false);
+               note_interrupt(irq, desc, action_ret);
 
        raw_spin_lock(&desc->lock);
        desc->status &= ~IRQ_INPROGRESS;
@@ -578,7 +578,7 @@ handle_fasteoi_irq(unsigned int irq, struct irq_desc *desc)
 
        action_ret = handle_IRQ_event(irq, action);
        if (!noirqdebug)
-               note_interrupt(irq, desc, action_ret, false);
+               note_interrupt(irq, desc, action_ret);
 
        raw_spin_lock(&desc->lock);
        desc->status &= ~IRQ_INPROGRESS;
@@ -654,7 +654,7 @@ handle_edge_irq(unsigned int irq, struct irq_desc *desc)
                raw_spin_unlock(&desc->lock);
                action_ret = handle_IRQ_event(irq, action);
                if (!noirqdebug)
-                       note_interrupt(irq, desc, action_ret, false);
+                       note_interrupt(irq, desc, action_ret);
                raw_spin_lock(&desc->lock);
 
        } while ((desc->status & (IRQ_PENDING | IRQ_DISABLED)) == IRQ_PENDING);
@@ -683,7 +683,7 @@ handle_percpu_irq(unsigned int irq, struct irq_desc *desc)
 
        action_ret = handle_IRQ_event(irq, desc->action);
        if (!noirqdebug)
-               note_interrupt(irq, desc, action_ret, false);
+               note_interrupt(irq, desc, action_ret);
 
        if (desc->irq_data.chip->irq_eoi)
                desc->irq_data.chip->irq_eoi(&desc->irq_data);
index 981e238..e2347eb 100644 (file)
@@ -155,7 +155,7 @@ unsigned int __do_IRQ(unsigned int irq)
                if (likely(!(desc->status & IRQ_DISABLED))) {
                        action_ret = handle_IRQ_event(irq, desc->action);
                        if (!noirqdebug)
-                               note_interrupt(irq, desc, action_ret, true);
+                               note_interrupt(irq, desc, action_ret);
                }
                desc->irq_data.chip->end(irq);
                return 1;
@@ -209,7 +209,7 @@ unsigned int __do_IRQ(unsigned int irq)
 
                action_ret = handle_IRQ_event(irq, action);
                if (!noirqdebug)
-                       note_interrupt(irq, desc, action_ret, false);
+                       note_interrupt(irq, desc, action_ret);
 
                raw_spin_lock(&desc->lock);
                if (likely(!(desc->status & IRQ_PENDING)))
index 47f2a8b..3089d3b 100644 (file)
@@ -215,17 +215,9 @@ try_misrouted_irq(unsigned int irq, struct irq_desc *desc,
        return action && (action->flags & IRQF_IRQPOLL);
 }
 
-/*
- * The parameter "only_fixup" means that the function should be only executed
- * if this parameter is set either to false or to true simultaneously with
- * irqfixup enabled.
- */
 void note_interrupt(unsigned int irq, struct irq_desc *desc,
-                   irqreturn_t action_ret, bool only_fixup)
+                   irqreturn_t action_ret)
 {
-       if (only_fixup && irqfixup == 0)
-               return;
-
        if (unlikely(action_ret != IRQ_HANDLED)) {
                /*
                 * If we are seeing only the odd spurious IRQ caused by