diff options
Diffstat (limited to 'arch/x86/kernel/io_apic.c')
-rw-r--r-- | arch/x86/kernel/io_apic.c | 53 |
1 files changed, 28 insertions, 25 deletions
diff --git a/arch/x86/kernel/io_apic.c b/arch/x86/kernel/io_apic.c index 77fa155becf6..4040d575a21e 100644 --- a/arch/x86/kernel/io_apic.c +++ b/arch/x86/kernel/io_apic.c | |||
@@ -1518,41 +1518,44 @@ static void setup_IO_APIC_irq(int apic, int pin, unsigned int irq, | |||
1518 | 1518 | ||
1519 | static void __init setup_IO_APIC_irqs(void) | 1519 | static void __init setup_IO_APIC_irqs(void) |
1520 | { | 1520 | { |
1521 | int apic, pin, idx, irq, first_notcon = 1; | 1521 | int apic, pin, idx, irq; |
1522 | int notcon = 0; | ||
1522 | 1523 | ||
1523 | apic_printk(APIC_VERBOSE, KERN_DEBUG "init IO_APIC IRQs\n"); | 1524 | apic_printk(APIC_VERBOSE, KERN_DEBUG "init IO_APIC IRQs\n"); |
1524 | 1525 | ||
1525 | for (apic = 0; apic < nr_ioapics; apic++) { | 1526 | for (apic = 0; apic < nr_ioapics; apic++) { |
1526 | for (pin = 0; pin < nr_ioapic_registers[apic]; pin++) { | 1527 | for (pin = 0; pin < nr_ioapic_registers[apic]; pin++) { |
1527 | 1528 | ||
1528 | idx = find_irq_entry(apic,pin,mp_INT); | 1529 | idx = find_irq_entry(apic, pin, mp_INT); |
1529 | if (idx == -1) { | 1530 | if (idx == -1) { |
1530 | if (first_notcon) { | 1531 | apic_printk(APIC_VERBOSE, |
1531 | apic_printk(APIC_VERBOSE, KERN_DEBUG " IO-APIC (apicid-pin) %d-%d", mp_ioapics[apic].mp_apicid, pin); | 1532 | KERN_DEBUG " %d-%d", |
1532 | first_notcon = 0; | 1533 | mp_ioapics[apic].mp_apicid, pin); |
1533 | } else | 1534 | if (!notcon) |
1534 | apic_printk(APIC_VERBOSE, ", %d-%d", mp_ioapics[apic].mp_apicid, pin); | 1535 | notcon = 1; |
1535 | continue; | 1536 | continue; |
1536 | } | 1537 | } |
1537 | if (!first_notcon) { | ||
1538 | apic_printk(APIC_VERBOSE, " not connected.\n"); | ||
1539 | first_notcon = 1; | ||
1540 | } | ||
1541 | 1538 | ||
1542 | irq = pin_2_irq(idx, apic, pin); | 1539 | irq = pin_2_irq(idx, apic, pin); |
1543 | #ifdef CONFIG_X86_32 | 1540 | #ifdef CONFIG_X86_32 |
1544 | if (multi_timer_check(apic, irq)) | 1541 | if (multi_timer_check(apic, irq)) |
1545 | continue; | 1542 | continue; |
1546 | #endif | 1543 | #endif |
1547 | add_pin_to_irq(irq, apic, pin); | 1544 | add_pin_to_irq(irq, apic, pin); |
1548 | 1545 | ||
1549 | setup_IO_APIC_irq(apic, pin, irq, | 1546 | setup_IO_APIC_irq(apic, pin, irq, |
1550 | irq_trigger(idx), irq_polarity(idx)); | 1547 | irq_trigger(idx), irq_polarity(idx)); |
1551 | } | 1548 | } |
1549 | if (notcon) { | ||
1550 | apic_printk(APIC_VERBOSE, | ||
1551 | KERN_DEBUG " (apicid-pin) not connected\n"); | ||
1552 | notcon = 0; | ||
1553 | } | ||
1552 | } | 1554 | } |
1553 | 1555 | ||
1554 | if (!first_notcon) | 1556 | if (notcon) |
1555 | apic_printk(APIC_VERBOSE, " not connected.\n"); | 1557 | apic_printk(APIC_VERBOSE, |
1558 | KERN_DEBUG " (apicid-pin) not connected\n"); | ||
1556 | } | 1559 | } |
1557 | 1560 | ||
1558 | /* | 1561 | /* |