genirq: Remove irq argument from report_bad_irq()
authorJiang Liu <jiang.liu@linux.intel.com>
Tue, 23 Jun 2015 18:02:43 +0000 (20:02 +0200)
committerThomas Gleixner <tglx@linutronix.de>
Sat, 11 Jul 2015 21:14:24 +0000 (23:14 +0200)
Not really a hotpath, so __report_bad_irq() can retrieve the irq
number from the irq descriptor.

[ tglx: Split out from combo patch ]

Signed-off-by: Jiang Liu <jiang.liu@linux.intel.com>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
kernel/irq/spurious.c

index e2514b0e439e942e19245558e0fad10918f84371..c7699ec7cb9c5e34eb7840a69ffdbbc686e674cf 100644 (file)
@@ -188,10 +188,9 @@ static inline int bad_action_ret(irqreturn_t action_ret)
  * (The other 100-of-100,000 interrupts may have been a correctly
  *  functioning device sharing an IRQ with the failing one)
  */
-static void
-__report_bad_irq(unsigned int irq, struct irq_desc *desc,
-                irqreturn_t action_ret)
+static void __report_bad_irq(struct irq_desc *desc, irqreturn_t action_ret)
 {
+       unsigned int irq = irq_desc_get_irq(desc);
        struct irqaction *action;
        unsigned long flags;
 
@@ -224,14 +223,13 @@ __report_bad_irq(unsigned int irq, struct irq_desc *desc,
        raw_spin_unlock_irqrestore(&desc->lock, flags);
 }
 
-static void
-report_bad_irq(unsigned int irq, struct irq_desc *desc, irqreturn_t action_ret)
+static void report_bad_irq(struct irq_desc *desc, irqreturn_t action_ret)
 {
        static int count = 100;
 
        if (count > 0) {
                count--;
-               __report_bad_irq(irq, desc, action_ret);
+               __report_bad_irq(desc, action_ret);
        }
 }
 
@@ -280,7 +278,7 @@ void note_interrupt(unsigned int irq, struct irq_desc *desc,
                return;
 
        if (bad_action_ret(action_ret)) {
-               report_bad_irq(irq, desc, action_ret);
+               report_bad_irq(desc, action_ret);
                return;
        }
 
@@ -413,7 +411,7 @@ void note_interrupt(unsigned int irq, struct irq_desc *desc,
                /*
                 * The interrupt is stuck
                 */
-               __report_bad_irq(irq, desc, action_ret);
+               __report_bad_irq(desc, action_ret);
                /*
                 * Now kill the IRQ
                 */