diff options
author | Thomas Gleixner <tglx@linutronix.de> | 2011-03-24 13:26:42 -0400 |
---|---|---|
committer | Thomas Gleixner <tglx@linutronix.de> | 2011-03-29 08:48:15 -0400 |
commit | 37daf3223e61685854798f755e4af9f073aaa26c (patch) | |
tree | 1a5918bc9445b21de8a6636bdbfecb83a74e6df4 /arch/unicore32 | |
parent | e1f5ce819c60a1020b43532333b0db291f2ce5c1 (diff) |
unicore32: Use generic show_interrupts()
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Diffstat (limited to 'arch/unicore32')
-rw-r--r-- | arch/unicore32/Kconfig | 1 | ||||
-rw-r--r-- | arch/unicore32/kernel/irq.c | 42 |
2 files changed, 1 insertions, 42 deletions
diff --git a/arch/unicore32/Kconfig b/arch/unicore32/Kconfig index 4a36db45fb3d..04e024919b2b 100644 --- a/arch/unicore32/Kconfig +++ b/arch/unicore32/Kconfig | |||
@@ -11,6 +11,7 @@ config UNICORE32 | |||
11 | select GENERIC_FIND_FIRST_BIT | 11 | select GENERIC_FIND_FIRST_BIT |
12 | select GENERIC_IRQ_PROBE | 12 | select GENERIC_IRQ_PROBE |
13 | select GENERIC_HARDIRQS_NO_DEPRECATED | 13 | select GENERIC_HARDIRQS_NO_DEPRECATED |
14 | select GENERIC_IRQ_SHOW | ||
14 | select ARCH_WANT_FRAME_POINTERS | 15 | select ARCH_WANT_FRAME_POINTERS |
15 | help | 16 | help |
16 | UniCore-32 is 32-bit Instruction Set Architecture, | 17 | UniCore-32 is 32-bit Instruction Set Architecture, |
diff --git a/arch/unicore32/kernel/irq.c b/arch/unicore32/kernel/irq.c index a6ee47f162ee..2aa30a364bbe 100644 --- a/arch/unicore32/kernel/irq.c +++ b/arch/unicore32/kernel/irq.c | |||
@@ -355,48 +355,6 @@ void __init init_IRQ(void) | |||
355 | #endif | 355 | #endif |
356 | } | 356 | } |
357 | 357 | ||
358 | int show_interrupts(struct seq_file *p, void *v) | ||
359 | { | ||
360 | int i = *(loff_t *) v, cpu; | ||
361 | struct irq_desc *desc; | ||
362 | struct irqaction *action; | ||
363 | unsigned long flags; | ||
364 | |||
365 | if (i == 0) { | ||
366 | char cpuname[12]; | ||
367 | |||
368 | seq_printf(p, " "); | ||
369 | for_each_present_cpu(cpu) { | ||
370 | sprintf(cpuname, "CPU%d", cpu); | ||
371 | seq_printf(p, " %10s", cpuname); | ||
372 | } | ||
373 | seq_putc(p, '\n'); | ||
374 | } | ||
375 | |||
376 | if (i < nr_irqs) { | ||
377 | desc = irq_to_desc(i); | ||
378 | raw_spin_lock_irqsave(&desc->lock, flags); | ||
379 | action = desc->action; | ||
380 | if (!action) | ||
381 | goto unlock; | ||
382 | |||
383 | seq_printf(p, "%3d: ", i); | ||
384 | for_each_present_cpu(cpu) | ||
385 | seq_printf(p, "%10u ", kstat_irqs_cpu(i, cpu)); | ||
386 | seq_printf(p, " %10s", desc->irq_data.chip->name ? : "-"); | ||
387 | seq_printf(p, " %s", action->name); | ||
388 | for (action = action->next; action; action = action->next) | ||
389 | seq_printf(p, ", %s", action->name); | ||
390 | |||
391 | seq_putc(p, '\n'); | ||
392 | unlock: | ||
393 | raw_spin_unlock_irqrestore(&desc->lock, flags); | ||
394 | } else if (i == nr_irqs) { | ||
395 | seq_printf(p, "Error in interrupt!\n"); | ||
396 | } | ||
397 | return 0; | ||
398 | } | ||
399 | |||
400 | /* | 358 | /* |
401 | * do_IRQ handles all hardware IRQ's. Decoded IRQs should not | 359 | * do_IRQ handles all hardware IRQ's. Decoded IRQs should not |
402 | * come via this function. Instead, they should provide their | 360 | * come via this function. Instead, they should provide their |