diff options
| author | Russell King <rmk+kernel@arm.linux.org.uk> | 2011-01-06 22:31:35 +0000 | 
|---|---|---|
| committer | Russell King <rmk+kernel@arm.linux.org.uk> | 2011-01-06 22:32:03 +0000 | 
| commit | 4ec3eb13634529c0bc7466658d84d0bbe3244aea (patch) | |
| tree | b491daac2ccfc7b8ca88e171a43f66888463568a /arch/arm/kernel/irq.c | |
| parent | 24056f525051a9e186af28904b396320e18bf9a0 (diff) | |
| parent | 15095bb0fe779c0403091bda7adce5fb3bb9ca35 (diff) | |
| download | olio-linux-3.10-4ec3eb13634529c0bc7466658d84d0bbe3244aea.tar.xz olio-linux-3.10-4ec3eb13634529c0bc7466658d84d0bbe3244aea.zip  | |
Merge branch 'smp' into misc
Conflicts:
	arch/arm/kernel/entry-armv.S
	arch/arm/mm/ioremap.c
Diffstat (limited to 'arch/arm/kernel/irq.c')
| -rw-r--r-- | arch/arm/kernel/irq.c | 23 | 
1 files changed, 17 insertions, 6 deletions
diff --git a/arch/arm/kernel/irq.c b/arch/arm/kernel/irq.c index a591971dbf7..c1269944cc5 100644 --- a/arch/arm/kernel/irq.c +++ b/arch/arm/kernel/irq.c @@ -56,11 +56,20 @@ int show_interrupts(struct seq_file *p, void *v)  	struct irq_desc *desc;  	struct irqaction * action;  	unsigned long flags; +	int prec, n; + +	for (prec = 3, n = 1000; prec < 10 && n <= nr_irqs; prec++) +		n *= 10; + +#ifdef CONFIG_SMP +	if (prec < 4) +		prec = 4; +#endif  	if (i == 0) {  		char cpuname[12]; -		seq_printf(p, "    "); +		seq_printf(p, "%*s ", prec, "");  		for_each_present_cpu(cpu) {  			sprintf(cpuname, "CPU%d", cpu);  			seq_printf(p, " %10s", cpuname); @@ -75,7 +84,7 @@ int show_interrupts(struct seq_file *p, void *v)  		if (!action)  			goto unlock; -		seq_printf(p, "%3d: ", i); +		seq_printf(p, "%*d: ", prec, i);  		for_each_present_cpu(cpu)  			seq_printf(p, "%10u ", kstat_irqs_cpu(i, cpu));  		seq_printf(p, " %10s", desc->chip->name ? : "-"); @@ -88,13 +97,15 @@ unlock:  		raw_spin_unlock_irqrestore(&desc->lock, flags);  	} else if (i == nr_irqs) {  #ifdef CONFIG_FIQ -		show_fiq_list(p, v); +		show_fiq_list(p, prec);  #endif  #ifdef CONFIG_SMP -		show_ipi_list(p); -		show_local_irqs(p); +		show_ipi_list(p, prec); +#endif +#ifdef CONFIG_LOCAL_TIMERS +		show_local_irqs(p, prec);  #endif -		seq_printf(p, "Err: %10lu\n", irq_err_count); +		seq_printf(p, "%*s: %10lu\n", prec, "Err", irq_err_count);  	}  	return 0;  }  |