diff options
author | Paul Mundt <lethal@linux-sh.org> | 2012-05-21 04:54:01 -0400 |
---|---|---|
committer | Paul Mundt <lethal@linux-sh.org> | 2012-05-21 04:54:01 -0400 |
commit | 63dc02bde6af1e41d28ebc3774c5f094f362e8c3 (patch) | |
tree | 7978dcdc298421729ea75be54aa86b22b5751948 /arch/sh/include/asm | |
parent | 7f47c7189b3e8f19a589f77a3ad169d7b691b582 (diff) |
sh: Kill off machvec IRQ hinting.
Everything is using sparseirq these days, so we have no need to
arbitrarily size nr_irqs ahead of time. The legacy IRQ pre-allocation
likewise has no meaning for us, so that's killed off too. We now depend
on nr_irqs expansion by the generic hardirq layer instead.
It's also worth noting that the majority of boards had completely bogus
values for their nr_irqs relative to their CPU and configurations, so
this ends up correcting behaviour for quite a few platforms.
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
Diffstat (limited to 'arch/sh/include/asm')
-rw-r--r-- | arch/sh/include/asm/irq.h | 13 | ||||
-rw-r--r-- | arch/sh/include/asm/machvec.h | 1 |
2 files changed, 8 insertions, 6 deletions
diff --git a/arch/sh/include/asm/irq.h b/arch/sh/include/asm/irq.h index 2a62017eb275..0e4f532e4737 100644 --- a/arch/sh/include/asm/irq.h +++ b/arch/sh/include/asm/irq.h | |||
@@ -5,12 +5,15 @@ | |||
5 | #include <asm/machvec.h> | 5 | #include <asm/machvec.h> |
6 | 6 | ||
7 | /* | 7 | /* |
8 | * A sane default based on a reasonable vector table size, platforms are | 8 | * Only legacy non-sparseirq platforms have to set a reasonably sane |
9 | * advised to cap this at the hard limit that they're interested in | 9 | * value here. sparseirq platforms allocate their irq_descs on the fly, |
10 | * through the machvec. | 10 | * so will expand automatically based on the number of registered IRQs. |
11 | */ | 11 | */ |
12 | #define NR_IRQS 512 | 12 | #ifdef CONFIG_SPARSE_IRQ |
13 | #define NR_IRQS_LEGACY 8 /* Legacy external IRQ0-7 */ | 13 | # define NR_IRQS 8 |
14 | #else | ||
15 | # define NR_IRQS 512 | ||
16 | #endif | ||
14 | 17 | ||
15 | /* | 18 | /* |
16 | * This is a special IRQ number for indicating that no IRQ has been | 19 | * This is a special IRQ number for indicating that no IRQ has been |
diff --git a/arch/sh/include/asm/machvec.h b/arch/sh/include/asm/machvec.h index 57c5c3d0f39f..eb9c20d971dd 100644 --- a/arch/sh/include/asm/machvec.h +++ b/arch/sh/include/asm/machvec.h | |||
@@ -17,7 +17,6 @@ | |||
17 | struct sh_machine_vector { | 17 | struct sh_machine_vector { |
18 | void (*mv_setup)(char **cmdline_p); | 18 | void (*mv_setup)(char **cmdline_p); |
19 | const char *mv_name; | 19 | const char *mv_name; |
20 | int mv_nr_irqs; | ||
21 | 20 | ||
22 | int (*mv_irq_demux)(int irq); | 21 | int (*mv_irq_demux)(int irq); |
23 | void (*mv_init_irq)(void); | 22 | void (*mv_init_irq)(void); |