diff options
| author | Thomas Gleixner <tglx@linutronix.de> | 2010-09-27 14:55:03 -0400 |
|---|---|---|
| committer | Thomas Gleixner <tglx@linutronix.de> | 2010-10-12 10:39:08 -0400 |
| commit | b683de2b3cb17bb10fa6fd4af614dc75b5749fe0 (patch) | |
| tree | e1a799293b218f5c13d4903c57fab144b2f433b3 /arch/arm/kernel/irq.c | |
| parent | aa99ec0f3f26bf2bcd0fa5176de93598427f1e5e (diff) | |
genirq: Query arch for number of early descriptors
sparse irq sets up NR_IRQS_LEGACY irq descriptors and archs then go
ahead and allocate more.
Use the unused return value of arch_probe_nr_irqs() to let the
architecture return the number of early allocations. Fix up all users.
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Reviewed-by: Ingo Molnar <mingo@elte.hu>
Diffstat (limited to 'arch/arm/kernel/irq.c')
| -rw-r--r-- | arch/arm/kernel/irq.c | 6 |
1 files changed, 2 insertions, 4 deletions
diff --git a/arch/arm/kernel/irq.c b/arch/arm/kernel/irq.c index c0d5c3b3a760..5456d11d6ae4 100644 --- a/arch/arm/kernel/irq.c +++ b/arch/arm/kernel/irq.c | |||
| @@ -157,10 +157,8 @@ void __init init_IRQ(void) | |||
| 157 | struct irq_desc *desc; | 157 | struct irq_desc *desc; |
| 158 | int irq; | 158 | int irq; |
| 159 | 159 | ||
| 160 | for (irq = 0; irq < nr_irqs; irq++) { | 160 | for (irq = 0; irq < nr_irqs; irq++) |
| 161 | desc = irq_to_desc_alloc_node(irq, 0); | ||
| 162 | desc->status |= IRQ_NOREQUEST | IRQ_NOPROBE; | 161 | desc->status |= IRQ_NOREQUEST | IRQ_NOPROBE; |
| 163 | } | ||
| 164 | 162 | ||
| 165 | init_arch_irq(); | 163 | init_arch_irq(); |
| 166 | } | 164 | } |
| @@ -169,7 +167,7 @@ void __init init_IRQ(void) | |||
| 169 | int __init arch_probe_nr_irqs(void) | 167 | int __init arch_probe_nr_irqs(void) |
| 170 | { | 168 | { |
| 171 | nr_irqs = arch_nr_irqs ? arch_nr_irqs : NR_IRQS; | 169 | nr_irqs = arch_nr_irqs ? arch_nr_irqs : NR_IRQS; |
| 172 | return 0; | 170 | return nr_irqs; |
| 173 | } | 171 | } |
| 174 | #endif | 172 | #endif |
| 175 | 173 | ||
