diff options
Diffstat (limited to 'arch/x86/kernel')
| -rw-r--r-- | arch/x86/kernel/apic/io_apic.c | 23 | 
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 53243ca7816d..75265ab83b17 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)  /* irq_cfg is indexed by the sum of all RTEs in all I/O APICs. */  #ifdef CONFIG_SPARSE_IRQ -static struct irq_cfg irq_cfgx[] = { +static struct irq_cfg irq_cfgx[NR_IRQS_LEGACY];  #else -static struct irq_cfg irq_cfgx[NR_IRQS] = { +static struct irq_cfg irq_cfgx[NR_IRQS];  #endif -	[0]  = { .vector = IRQ0_VECTOR,  }, -	[1]  = { .vector = IRQ1_VECTOR,  }, -	[2]  = { .vector = IRQ2_VECTOR,  }, -	[3]  = { .vector = IRQ3_VECTOR,  }, -	[4]  = { .vector = IRQ4_VECTOR,  }, -	[5]  = { .vector = IRQ5_VECTOR,  }, -	[6]  = { .vector = IRQ6_VECTOR,  }, -	[7]  = { .vector = IRQ7_VECTOR,  }, -	[8]  = { .vector = IRQ8_VECTOR,  }, -	[9]  = { .vector = IRQ9_VECTOR,  }, -	[10] = { .vector = IRQ10_VECTOR, }, -	[11] = { .vector = IRQ11_VECTOR, }, -	[12] = { .vector = IRQ12_VECTOR, }, -	[13] = { .vector = IRQ13_VECTOR, }, -	[14] = { .vector = IRQ14_VECTOR, }, -	[15] = { .vector = IRQ15_VECTOR, }, -};  void __init io_apic_disable_legacy(void)  { @@ -181,6 +164,8 @@ int __init arch_early_irq_init(void)  	node= cpu_to_node(boot_cpu_id);  	for (i = 0; i < count; i++) { +		if (i < nr_legacy_irqs) +			cfg[i].vector = IRQ0_VECTOR + i;  		desc = irq_to_desc(i);  		desc->chip_data = &cfg[i];  		zalloc_cpumask_var_node(&cfg[i].domain, GFP_NOWAIT, node); | 
