diff options
-rw-r--r-- | arch/x86/kernel/io_apic_64.c | 28 |
1 files changed, 2 insertions, 26 deletions
diff --git a/arch/x86/kernel/io_apic_64.c b/arch/x86/kernel/io_apic_64.c index 0494cdb270c5..83c953af9cd8 100644 --- a/arch/x86/kernel/io_apic_64.c +++ b/arch/x86/kernel/io_apic_64.c | |||
@@ -373,26 +373,6 @@ static void add_pin_to_irq(unsigned int irq, int apic, int pin) | |||
373 | entry->pin = pin; | 373 | entry->pin = pin; |
374 | } | 374 | } |
375 | 375 | ||
376 | /* | ||
377 | * Reroute an IRQ to a different pin. | ||
378 | */ | ||
379 | static void __init replace_pin_at_irq(unsigned int irq, | ||
380 | int oldapic, int oldpin, | ||
381 | int newapic, int newpin) | ||
382 | { | ||
383 | struct irq_pin_list *entry = irq_2_pin + irq; | ||
384 | |||
385 | while (1) { | ||
386 | if (entry->apic == oldapic && entry->pin == oldpin) { | ||
387 | entry->apic = newapic; | ||
388 | entry->pin = newpin; | ||
389 | } | ||
390 | if (!entry->next) | ||
391 | break; | ||
392 | entry = irq_2_pin + entry->next; | ||
393 | } | ||
394 | } | ||
395 | |||
396 | 376 | ||
397 | #define DO_ACTION(name,R,ACTION, FINAL) \ | 377 | #define DO_ACTION(name,R,ACTION, FINAL) \ |
398 | \ | 378 | \ |
@@ -1724,11 +1704,6 @@ static inline void __init check_timer(void) | |||
1724 | apic2 = apic1; | 1704 | apic2 = apic1; |
1725 | } | 1705 | } |
1726 | 1706 | ||
1727 | replace_pin_at_irq(0, 0, 0, apic1, pin1); | ||
1728 | apic1 = 0; | ||
1729 | pin1 = 0; | ||
1730 | setup_timer_IRQ0_pin(apic1, pin1, cfg->vector); | ||
1731 | |||
1732 | if (pin1 != -1) { | 1707 | if (pin1 != -1) { |
1733 | /* | 1708 | /* |
1734 | * Ok, does IRQ0 through the IOAPIC work? | 1709 | * Ok, does IRQ0 through the IOAPIC work? |
@@ -1760,9 +1735,10 @@ static inline void __init check_timer(void) | |||
1760 | /* | 1735 | /* |
1761 | * legacy devices should be connected to IO APIC #0 | 1736 | * legacy devices should be connected to IO APIC #0 |
1762 | */ | 1737 | */ |
1763 | replace_pin_at_irq(0, apic1, pin1, apic2, pin2); | 1738 | /* replace_pin_at_irq(0, apic1, pin1, apic2, pin2); */ |
1764 | setup_timer_IRQ0_pin(apic2, pin2, cfg->vector); | 1739 | setup_timer_IRQ0_pin(apic2, pin2, cfg->vector); |
1765 | unmask_IO_APIC_irq(0); | 1740 | unmask_IO_APIC_irq(0); |
1741 | clear_IO_APIC_pin(apic2, pin2); | ||
1766 | enable_8259A_irq(0); | 1742 | enable_8259A_irq(0); |
1767 | if (timer_irq_works()) { | 1743 | if (timer_irq_works()) { |
1768 | apic_printk(APIC_VERBOSE," works.\n"); | 1744 | apic_printk(APIC_VERBOSE," works.\n"); |