diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2011-03-25 20:24:05 -0700 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2011-03-25 20:24:05 -0700 |
commit | 0dd61be7ec1be1b6820af978f901b9ae2c244dc6 (patch) | |
tree | 1f49edaa21351034e7d1dff6511424e9a949cf6b /kernel | |
parent | 8dd90265ac0754da0df47d9c597f25187bb1c947 (diff) | |
parent | ab7798ffcf98b11a9525cf65bacdae3fd58d357f (diff) |
Merge branch 'irq-cleanup-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip
* 'irq-cleanup-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (23 commits)
genirq: Expand generic show_interrupts()
gpio: Fold irq_set_chip/irq_set_handler to irq_set_chip_and_handler
gpio: Cleanup genirq namespace
arm: ep93xx: Add basic interrupt info
arm/gpio: Remove three copies of broken and racy debug code
xtensa: Use generic show_interrupts()
xtensa: Convert genirq namespace
xtensa: Use generic IRQ Kconfig and set GENERIC_HARDIRQS_NO_DEPRECATED
xtensa: Convert s6000 gpio irq_chip to new functions
xtensa: Convert main irq_chip to new functions
um: Use generic show_interrupts()
um: Convert genirq namespace
m32r: Use generic show_interrupts()
m32r: Convert genirq namespace
h8300: Use generic show_interrupts()
h8300: Convert genirq namespace
avr32: Cleanup eic_set_irq_type()
avr32: Use generic show_interrupts()
avr: Cleanup genirq namespace
avr32: Use generic IRQ config, enable GENERIC_HARDIRQS_NO_DEPRECATED
...
Fix up trivial conflict in drivers/gpio/timbgpio.c
Diffstat (limited to 'kernel')
-rw-r--r-- | kernel/irq/Kconfig | 4 | ||||
-rw-r--r-- | kernel/irq/proc.c | 15 |
2 files changed, 18 insertions, 1 deletions
diff --git a/kernel/irq/Kconfig b/kernel/irq/Kconfig index 09bef82d74cb..00f2c037267a 100644 --- a/kernel/irq/Kconfig +++ b/kernel/irq/Kconfig @@ -31,6 +31,10 @@ config GENERIC_IRQ_PROBE config GENERIC_IRQ_SHOW bool +# Print level/edge extra information +config GENERIC_IRQ_SHOW_LEVEL + bool + # Support for delayed migration from interrupt context config GENERIC_PENDING_IRQ bool diff --git a/kernel/irq/proc.c b/kernel/irq/proc.c index 760248de109d..626d092eed9a 100644 --- a/kernel/irq/proc.c +++ b/kernel/irq/proc.c @@ -404,7 +404,20 @@ int show_interrupts(struct seq_file *p, void *v) seq_printf(p, "%*d: ", prec, i); for_each_online_cpu(j) seq_printf(p, "%10u ", kstat_irqs_cpu(i, j)); - seq_printf(p, " %8s", desc->irq_data.chip->name); + + if (desc->irq_data.chip) { + if (desc->irq_data.chip->irq_print_chip) + desc->irq_data.chip->irq_print_chip(&desc->irq_data, p); + else if (desc->irq_data.chip->name) + seq_printf(p, " %8s", desc->irq_data.chip->name); + else + seq_printf(p, " %8s", "-"); + } else { + seq_printf(p, " %8s", "None"); + } +#ifdef CONFIG_GENIRC_IRQ_SHOW_LEVEL + seq_printf(p, " %-8s", irqd_is_level_type(&desc->irq_data) ? "Level" : "Edge"); +#endif if (desc->name) seq_printf(p, "-%-8s", desc->name); |