diff options
Diffstat (limited to 'arch/x86/kernel/io_apic.c')
| -rw-r--r-- | arch/x86/kernel/io_apic.c | 18 |
1 files changed, 6 insertions, 12 deletions
diff --git a/arch/x86/kernel/io_apic.c b/arch/x86/kernel/io_apic.c index f6ea94b74da1..74917658b004 100644 --- a/arch/x86/kernel/io_apic.c +++ b/arch/x86/kernel/io_apic.c | |||
| @@ -170,7 +170,7 @@ static struct irq_cfg irq_cfgx[NR_IRQS] = { | |||
| 170 | [15] = { .domain = CPU_MASK_ALL, .vector = IRQ15_VECTOR, }, | 170 | [15] = { .domain = CPU_MASK_ALL, .vector = IRQ15_VECTOR, }, |
| 171 | }; | 171 | }; |
| 172 | 172 | ||
| 173 | void __init arch_early_irq_init(void) | 173 | int __init arch_early_irq_init(void) |
| 174 | { | 174 | { |
| 175 | struct irq_cfg *cfg; | 175 | struct irq_cfg *cfg; |
| 176 | struct irq_desc *desc; | 176 | struct irq_desc *desc; |
| @@ -184,6 +184,8 @@ void __init arch_early_irq_init(void) | |||
| 184 | desc = irq_to_desc(i); | 184 | desc = irq_to_desc(i); |
| 185 | desc->chip_data = &cfg[i]; | 185 | desc->chip_data = &cfg[i]; |
| 186 | } | 186 | } |
| 187 | |||
| 188 | return 0; | ||
| 187 | } | 189 | } |
| 188 | 190 | ||
| 189 | #ifdef CONFIG_SPARSE_IRQ | 191 | #ifdef CONFIG_SPARSE_IRQ |
| @@ -212,7 +214,7 @@ static struct irq_cfg *get_one_free_irq_cfg(int cpu) | |||
| 212 | return cfg; | 214 | return cfg; |
| 213 | } | 215 | } |
| 214 | 216 | ||
| 215 | void arch_init_chip_data(struct irq_desc *desc, int cpu) | 217 | int arch_init_chip_data(struct irq_desc *desc, int cpu) |
| 216 | { | 218 | { |
| 217 | struct irq_cfg *cfg; | 219 | struct irq_cfg *cfg; |
| 218 | 220 | ||
| @@ -224,6 +226,8 @@ void arch_init_chip_data(struct irq_desc *desc, int cpu) | |||
| 224 | BUG_ON(1); | 226 | BUG_ON(1); |
| 225 | } | 227 | } |
| 226 | } | 228 | } |
| 229 | |||
| 230 | return 0; | ||
| 227 | } | 231 | } |
| 228 | 232 | ||
| 229 | #ifdef CONFIG_NUMA_MIGRATE_IRQ_DESC | 233 | #ifdef CONFIG_NUMA_MIGRATE_IRQ_DESC |
| @@ -1345,8 +1349,6 @@ void __setup_vector_irq(int cpu) | |||
| 1345 | 1349 | ||
| 1346 | /* Mark the inuse vectors */ | 1350 | /* Mark the inuse vectors */ |
| 1347 | for_each_irq_desc(irq, desc) { | 1351 | for_each_irq_desc(irq, desc) { |
| 1348 | if (!desc) | ||
| 1349 | continue; | ||
| 1350 | cfg = desc->chip_data; | 1352 | cfg = desc->chip_data; |
| 1351 | if (!cpu_isset(cpu, cfg->domain)) | 1353 | if (!cpu_isset(cpu, cfg->domain)) |
| 1352 | continue; | 1354 | continue; |
| @@ -1730,8 +1732,6 @@ __apicdebuginit(void) print_IO_APIC(void) | |||
| 1730 | for_each_irq_desc(irq, desc) { | 1732 | for_each_irq_desc(irq, desc) { |
| 1731 | struct irq_pin_list *entry; | 1733 | struct irq_pin_list *entry; |
| 1732 | 1734 | ||
| 1733 | if (!desc) | ||
| 1734 | continue; | ||
| 1735 | cfg = desc->chip_data; | 1735 | cfg = desc->chip_data; |
| 1736 | entry = cfg->irq_2_pin; | 1736 | entry = cfg->irq_2_pin; |
| 1737 | if (!entry) | 1737 | if (!entry) |
| @@ -2378,9 +2378,6 @@ static void ir_irq_migration(struct work_struct *work) | |||
| 2378 | struct irq_desc *desc; | 2378 | struct irq_desc *desc; |
| 2379 | 2379 | ||
| 2380 | for_each_irq_desc(irq, desc) { | 2380 | for_each_irq_desc(irq, desc) { |
| 2381 | if (!desc) | ||
| 2382 | continue; | ||
| 2383 | |||
| 2384 | if (desc->status & IRQ_MOVE_PENDING) { | 2381 | if (desc->status & IRQ_MOVE_PENDING) { |
| 2385 | unsigned long flags; | 2382 | unsigned long flags; |
| 2386 | 2383 | ||
| @@ -2670,9 +2667,6 @@ static inline void init_IO_APIC_traps(void) | |||
| 2670 | * 0x80, because int 0x80 is hm, kind of importantish. ;) | 2667 | * 0x80, because int 0x80 is hm, kind of importantish. ;) |
| 2671 | */ | 2668 | */ |
| 2672 | for_each_irq_desc(irq, desc) { | 2669 | for_each_irq_desc(irq, desc) { |
| 2673 | if (!desc) | ||
| 2674 | continue; | ||
| 2675 | |||
| 2676 | cfg = desc->chip_data; | 2670 | cfg = desc->chip_data; |
| 2677 | if (IO_APIC_IRQ(irq) && cfg && !cfg->vector) { | 2671 | if (IO_APIC_IRQ(irq) && cfg && !cfg->vector) { |
| 2678 | /* | 2672 | /* |
