aboutsummaryrefslogtreecommitdiffstats
path: root/arch/sh
diff options
context:
space:
mode:
authorPaul Mundt <lethal@linux-sh.org>2007-03-12 01:09:35 -0400
committerPaul Mundt <lethal@hera.kernel.org>2007-05-06 22:10:53 -0400
commitbe782df54c51b50dd4dbc363a5a5afa04565fc60 (patch)
treebe45290a6d46e8746b5b9b51c1c3b804c6816177 /arch/sh
parentfa69151173b1fc6fa3ced0edd5c2ea83b5d32bc1 (diff)
sh: NR_IRQS consolidation.
Each board sets the total number of IRQs that it's interested in via the machvec. Previously we cared about the off vs on-chip IRQ range, but any code relying on that is long dead. Set NR_IRQS to something sensible given the vector range, and allow boards to cap it if they really care. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
Diffstat (limited to 'arch/sh')
-rw-r--r--arch/sh/kernel/irq.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/arch/sh/kernel/irq.c b/arch/sh/kernel/irq.c
index 9bdd8a00cd4a..27b923c45b3d 100644
--- a/arch/sh/kernel/irq.c
+++ b/arch/sh/kernel/irq.c
@@ -13,6 +13,7 @@
13#include <linux/seq_file.h> 13#include <linux/seq_file.h>
14#include <linux/irq.h> 14#include <linux/irq.h>
15#include <asm/processor.h> 15#include <asm/processor.h>
16#include <asm/machvec.h>
16#include <asm/uaccess.h> 17#include <asm/uaccess.h>
17#include <asm/thread_info.h> 18#include <asm/thread_info.h>
18#include <asm/cpu/mmu_context.h> 19#include <asm/cpu/mmu_context.h>
@@ -44,7 +45,7 @@ int show_interrupts(struct seq_file *p, void *v)
44 seq_putc(p, '\n'); 45 seq_putc(p, '\n');
45 } 46 }
46 47
47 if (i < NR_IRQS) { 48 if (i < sh_mv.mv_nr_irqs) {
48 spin_lock_irqsave(&irq_desc[i].lock, flags); 49 spin_lock_irqsave(&irq_desc[i].lock, flags);
49 action = irq_desc[i].action; 50 action = irq_desc[i].action;
50 if (!action) 51 if (!action)
@@ -61,7 +62,7 @@ int show_interrupts(struct seq_file *p, void *v)
61 seq_putc(p, '\n'); 62 seq_putc(p, '\n');
62unlock: 63unlock:
63 spin_unlock_irqrestore(&irq_desc[i].lock, flags); 64 spin_unlock_irqrestore(&irq_desc[i].lock, flags);
64 } else if (i == NR_IRQS) 65 } else if (i == sh_mv.mv_nr_irqs)
65 seq_printf(p, "Err: %10u\n", atomic_read(&irq_err_count)); 66 seq_printf(p, "Err: %10u\n", atomic_read(&irq_err_count));
66 67
67 return 0; 68 return 0;