aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorThomas Gleixner <tglx@linutronix.de>2011-03-24 13:03:13 -0400
committerThomas Gleixner <tglx@linutronix.de>2011-03-29 08:48:14 -0400
commitfa680c7c22ea8382847815c5fb91a30202a578a0 (patch)
tree6408569cc1865961b139cb6971d6e8678da759e2
parent394d441b91c146696ec2765a56be34855d375bd5 (diff)
sparc: Use generic show_interrupts()
Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Cc: sparclinux@vger.kernel.org
-rw-r--r--arch/sparc/Kconfig1
-rw-r--r--arch/sparc/kernel/irq_64.c45
2 files changed, 7 insertions, 39 deletions
diff --git a/arch/sparc/Kconfig b/arch/sparc/Kconfig
index 9efd30f6a1ed..14b234631f5f 100644
--- a/arch/sparc/Kconfig
+++ b/arch/sparc/Kconfig
@@ -52,6 +52,7 @@ config SPARC64
52 select PERF_USE_VMALLOC 52 select PERF_USE_VMALLOC
53 select HAVE_GENERIC_HARDIRQS 53 select HAVE_GENERIC_HARDIRQS
54 select GENERIC_HARDIRQS_NO_DEPRECATED 54 select GENERIC_HARDIRQS_NO_DEPRECATED
55 select GENERIC_IRQ_SHOW
55 select IRQ_PREFLOW_FASTEOI 56 select IRQ_PREFLOW_FASTEOI
56 57
57config ARCH_DEFCONFIG 58config ARCH_DEFCONFIG
diff --git a/arch/sparc/kernel/irq_64.c b/arch/sparc/kernel/irq_64.c
index ba66821d29a0..b1d275ce3435 100644
--- a/arch/sparc/kernel/irq_64.c
+++ b/arch/sparc/kernel/irq_64.c
@@ -162,47 +162,14 @@ void irq_free(unsigned int irq)
162/* 162/*
163 * /proc/interrupts printing: 163 * /proc/interrupts printing:
164 */ 164 */
165 165int arch_show_interrupts(struct seq_file *p, int prec)
166int show_interrupts(struct seq_file *p, void *v)
167{ 166{
168 int i = *(loff_t *) v, j; 167 int j;
169 struct irqaction * action;
170 unsigned long flags;
171
172 if (i == 0) {
173 seq_printf(p, " ");
174 for_each_online_cpu(j)
175 seq_printf(p, "CPU%d ",j);
176 seq_putc(p, '\n');
177 }
178 168
179 if (i < NR_IRQS) { 169 seq_printf(p, "NMI: ");
180 raw_spin_lock_irqsave(&irq_desc[i].lock, flags); 170 for_each_online_cpu(j)
181 action = irq_desc[i].action; 171 seq_printf(p, "%10u ", cpu_data(j).__nmi_count);
182 if (!action) 172 seq_printf(p, " Non-maskable interrupts\n");
183 goto skip;
184 seq_printf(p, "%3d: ",i);
185#ifndef CONFIG_SMP
186 seq_printf(p, "%10u ", kstat_irqs(i));
187#else
188 for_each_online_cpu(j)
189 seq_printf(p, "%10u ", kstat_irqs_cpu(i, j));
190#endif
191 seq_printf(p, " %9s", irq_desc[i].irq_data.chip->name);
192 seq_printf(p, " %s", action->name);
193
194 for (action=action->next; action; action = action->next)
195 seq_printf(p, ", %s", action->name);
196
197 seq_putc(p, '\n');
198skip:
199 raw_spin_unlock_irqrestore(&irq_desc[i].lock, flags);
200 } else if (i == NR_IRQS) {
201 seq_printf(p, "NMI: ");
202 for_each_online_cpu(j)
203 seq_printf(p, "%10u ", cpu_data(j).__nmi_count);
204 seq_printf(p, " Non-maskable interrupts\n");
205 }
206 return 0; 173 return 0;
207} 174}
208 175