|
@@ -404,7 +404,20 @@ int show_interrupts(struct seq_file *p, void *v)
|
|
seq_printf(p, "%*d: ", prec, i);
|
|
seq_printf(p, "%*d: ", prec, i);
|
|
for_each_online_cpu(j)
|
|
for_each_online_cpu(j)
|
|
seq_printf(p, "%10u ", kstat_irqs_cpu(i, 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)
|
|
if (desc->name)
|
|
seq_printf(p, "-%-8s", desc->name);
|
|
seq_printf(p, "-%-8s", desc->name);
|
|
|
|
|