aboutsummaryrefslogtreecommitdiffstats
path: root/kernel/irq/spurious.c
diff options
context:
space:
mode:
authorThomas Gleixner <tglx@linutronix.de>2008-10-16 03:55:00 -0400
committerIngo Molnar <mingo@elte.hu>2008-10-16 10:53:29 -0400
commitd3c60047bdb03199b93497ac40bd531315d43a86 (patch)
tree858b74f422b1c79be54d2050d23c51999d312566 /kernel/irq/spurious.c
parenta1aca5de08a0cb840a90fb3f729a5940f8d21185 (diff)
genirq: cleanup the sparseirq modifications
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Diffstat (limited to 'kernel/irq/spurious.c')
-rw-r--r--kernel/irq/spurious.c18
1 files changed, 10 insertions, 8 deletions
diff --git a/kernel/irq/spurious.c b/kernel/irq/spurious.c
index ec5a4bef3054..dd364c11e56e 100644
--- a/kernel/irq/spurious.c
+++ b/kernel/irq/spurious.c
@@ -26,8 +26,7 @@ static DEFINE_TIMER(poll_spurious_irq_timer, poll_spurious_irqs, 0, 0);
26static int try_one_irq(int irq, struct irq_desc *desc) 26static int try_one_irq(int irq, struct irq_desc *desc)
27{ 27{
28 struct irqaction *action; 28 struct irqaction *action;
29 int ok = 0; 29 int ok = 0, work = 0;
30 int work = 0; /* Did we do work for a real IRQ */
31 30
32 spin_lock(&desc->lock); 31 spin_lock(&desc->lock);
33 /* Already running on another processor */ 32 /* Already running on another processor */
@@ -88,9 +87,8 @@ static int try_one_irq(int irq, struct irq_desc *desc)
88 87
89static int misrouted_irq(int irq) 88static int misrouted_irq(int irq)
90{ 89{
91 int i;
92 int ok = 0;
93 struct irq_desc *desc; 90 struct irq_desc *desc;
91 int i, ok = 0;
94 92
95 for_each_irq_desc(i, desc) { 93 for_each_irq_desc(i, desc) {
96 if (!i) 94 if (!i)
@@ -108,8 +106,8 @@ static int misrouted_irq(int irq)
108 106
109static void poll_spurious_irqs(unsigned long dummy) 107static void poll_spurious_irqs(unsigned long dummy)
110{ 108{
111 int i;
112 struct irq_desc *desc; 109 struct irq_desc *desc;
110 int i;
113 111
114 for_each_irq_desc(i, desc) { 112 for_each_irq_desc(i, desc) {
115 unsigned int status; 113 unsigned int status;
@@ -126,7 +124,8 @@ static void poll_spurious_irqs(unsigned long dummy)
126 try_one_irq(i, desc); 124 try_one_irq(i, desc);
127 } 125 }
128 126
129 mod_timer(&poll_spurious_irq_timer, jiffies + POLL_SPURIOUS_IRQ_INTERVAL); 127 mod_timer(&poll_spurious_irq_timer,
128 jiffies + POLL_SPURIOUS_IRQ_INTERVAL);
130} 129}
131 130
132/* 131/*
@@ -177,7 +176,9 @@ report_bad_irq(unsigned int irq, struct irq_desc *desc, irqreturn_t action_ret)
177 } 176 }
178} 177}
179 178
180static inline int try_misrouted_irq(unsigned int irq, struct irq_desc *desc, irqreturn_t action_ret) 179static inline int
180try_misrouted_irq(unsigned int irq, struct irq_desc *desc,
181 irqreturn_t action_ret)
181{ 182{
182 struct irqaction *action; 183 struct irqaction *action;
183 184
@@ -253,7 +254,8 @@ void note_interrupt(unsigned int irq, struct irq_desc *desc,
253 desc->depth++; 254 desc->depth++;
254 desc->chip->disable(irq); 255 desc->chip->disable(irq);
255 256
256 mod_timer(&poll_spurious_irq_timer, jiffies + POLL_SPURIOUS_IRQ_INTERVAL); 257 mod_timer(&poll_spurious_irq_timer,
258 jiffies + POLL_SPURIOUS_IRQ_INTERVAL);
257 } 259 }
258 desc->irqs_unhandled = 0; 260 desc->irqs_unhandled = 0;
259} 261}