aboutsummaryrefslogtreecommitdiffstats
path: root/arch/x86/kernel
diff options
context:
space:
mode:
Diffstat (limited to 'arch/x86/kernel')
-rw-r--r--arch/x86/kernel/apic/io_apic.c23
1 files changed, 4 insertions, 19 deletions
diff --git a/arch/x86/kernel/apic/io_apic.c b/arch/x86/kernel/apic/io_apic.c
index 53243ca7816..75265ab83b1 100644
--- a/arch/x86/kernel/apic/io_apic.c
+++ b/arch/x86/kernel/apic/io_apic.c
@@ -140,27 +140,10 @@ static struct irq_pin_list *get_one_free_irq_2_pin(int node)
140 140
141/* irq_cfg is indexed by the sum of all RTEs in all I/O APICs. */ 141/* irq_cfg is indexed by the sum of all RTEs in all I/O APICs. */
142#ifdef CONFIG_SPARSE_IRQ 142#ifdef CONFIG_SPARSE_IRQ
143static struct irq_cfg irq_cfgx[] = { 143static struct irq_cfg irq_cfgx[NR_IRQS_LEGACY];
144#else 144#else
145static struct irq_cfg irq_cfgx[NR_IRQS] = { 145static struct irq_cfg irq_cfgx[NR_IRQS];
146#endif 146#endif
147 [0] = { .vector = IRQ0_VECTOR, },
148 [1] = { .vector = IRQ1_VECTOR, },
149 [2] = { .vector = IRQ2_VECTOR, },
150 [3] = { .vector = IRQ3_VECTOR, },
151 [4] = { .vector = IRQ4_VECTOR, },
152 [5] = { .vector = IRQ5_VECTOR, },
153 [6] = { .vector = IRQ6_VECTOR, },
154 [7] = { .vector = IRQ7_VECTOR, },
155 [8] = { .vector = IRQ8_VECTOR, },
156 [9] = { .vector = IRQ9_VECTOR, },
157 [10] = { .vector = IRQ10_VECTOR, },
158 [11] = { .vector = IRQ11_VECTOR, },
159 [12] = { .vector = IRQ12_VECTOR, },
160 [13] = { .vector = IRQ13_VECTOR, },
161 [14] = { .vector = IRQ14_VECTOR, },
162 [15] = { .vector = IRQ15_VECTOR, },
163};
164 147
165void __init io_apic_disable_legacy(void) 148void __init io_apic_disable_legacy(void)
166{ 149{
@@ -181,6 +164,8 @@ int __init arch_early_irq_init(void)
181 node= cpu_to_node(boot_cpu_id); 164 node= cpu_to_node(boot_cpu_id);
182 165
183 for (i = 0; i < count; i++) { 166 for (i = 0; i < count; i++) {
167 if (i < nr_legacy_irqs)
168 cfg[i].vector = IRQ0_VECTOR + i;
184 desc = irq_to_desc(i); 169 desc = irq_to_desc(i);
185 desc->chip_data = &cfg[i]; 170 desc->chip_data = &cfg[i];
186 zalloc_cpumask_var_node(&cfg[i].domain, GFP_NOWAIT, node); 171 zalloc_cpumask_var_node(&cfg[i].domain, GFP_NOWAIT, node);