diff options
author | Thomas Gleixner <tglx@linutronix.de> | 2011-03-24 13:03:13 -0400 |
---|---|---|
committer | Thomas Gleixner <tglx@linutronix.de> | 2011-03-29 08:48:14 -0400 |
commit | fa680c7c22ea8382847815c5fb91a30202a578a0 (patch) | |
tree | 6408569cc1865961b139cb6971d6e8678da759e2 /arch/sparc | |
parent | 394d441b91c146696ec2765a56be34855d375bd5 (diff) |
sparc: Use generic show_interrupts()
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Cc: sparclinux@vger.kernel.org
Diffstat (limited to 'arch/sparc')
-rw-r--r-- | arch/sparc/Kconfig | 1 | ||||
-rw-r--r-- | arch/sparc/kernel/irq_64.c | 45 |
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 | ||
57 | config ARCH_DEFCONFIG | 58 | config 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 | 165 | int arch_show_interrupts(struct seq_file *p, int prec) | |
166 | int 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'); | ||
198 | skip: | ||
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 | ||