unicore32: Use generic show_interrupts()
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
This commit is contained in:
Родитель
e1f5ce819c
Коммит
37daf3223e
|
@ -11,6 +11,7 @@ config UNICORE32
|
||||||
select GENERIC_FIND_FIRST_BIT
|
select GENERIC_FIND_FIRST_BIT
|
||||||
select GENERIC_IRQ_PROBE
|
select GENERIC_IRQ_PROBE
|
||||||
select GENERIC_HARDIRQS_NO_DEPRECATED
|
select GENERIC_HARDIRQS_NO_DEPRECATED
|
||||||
|
select GENERIC_IRQ_SHOW
|
||||||
select ARCH_WANT_FRAME_POINTERS
|
select ARCH_WANT_FRAME_POINTERS
|
||||||
help
|
help
|
||||||
UniCore-32 is 32-bit Instruction Set Architecture,
|
UniCore-32 is 32-bit Instruction Set Architecture,
|
||||||
|
|
|
@ -355,48 +355,6 @@ void __init init_IRQ(void)
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
int show_interrupts(struct seq_file *p, void *v)
|
|
||||||
{
|
|
||||||
int i = *(loff_t *) v, cpu;
|
|
||||||
struct irq_desc *desc;
|
|
||||||
struct irqaction *action;
|
|
||||||
unsigned long flags;
|
|
||||||
|
|
||||||
if (i == 0) {
|
|
||||||
char cpuname[12];
|
|
||||||
|
|
||||||
seq_printf(p, " ");
|
|
||||||
for_each_present_cpu(cpu) {
|
|
||||||
sprintf(cpuname, "CPU%d", cpu);
|
|
||||||
seq_printf(p, " %10s", cpuname);
|
|
||||||
}
|
|
||||||
seq_putc(p, '\n');
|
|
||||||
}
|
|
||||||
|
|
||||||
if (i < nr_irqs) {
|
|
||||||
desc = irq_to_desc(i);
|
|
||||||
raw_spin_lock_irqsave(&desc->lock, flags);
|
|
||||||
action = desc->action;
|
|
||||||
if (!action)
|
|
||||||
goto unlock;
|
|
||||||
|
|
||||||
seq_printf(p, "%3d: ", i);
|
|
||||||
for_each_present_cpu(cpu)
|
|
||||||
seq_printf(p, "%10u ", kstat_irqs_cpu(i, cpu));
|
|
||||||
seq_printf(p, " %10s", desc->irq_data.chip->name ? : "-");
|
|
||||||
seq_printf(p, " %s", action->name);
|
|
||||||
for (action = action->next; action; action = action->next)
|
|
||||||
seq_printf(p, ", %s", action->name);
|
|
||||||
|
|
||||||
seq_putc(p, '\n');
|
|
||||||
unlock:
|
|
||||||
raw_spin_unlock_irqrestore(&desc->lock, flags);
|
|
||||||
} else if (i == nr_irqs) {
|
|
||||||
seq_printf(p, "Error in interrupt!\n");
|
|
||||||
}
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* do_IRQ handles all hardware IRQ's. Decoded IRQs should not
|
* do_IRQ handles all hardware IRQ's. Decoded IRQs should not
|
||||||
* come via this function. Instead, they should provide their
|
* come via this function. Instead, they should provide their
|
||||||
|
|
Загрузка…
Ссылка в новой задаче