[PATCH] x86: don't print strange not connect ioapic

From: Yinghai Lu
Date: Wed Apr 29 2009 - 16:05:25 EST



in setup_IO_APIC_irqs(), we only need to go with ioapic that handle legacy irqs,
because at that points we only have those irq in mp_irqs[]

will not print out those strange not connected pin warning.

[ Impact: don't go with not used ioapic yet ]

Signed-off-by: Yinghai Lu <yinghai@xxxxxxxxxx>

---
arch/x86/kernel/apic/io_apic.c | 19 ++++++++++++++++++-
1 file changed, 18 insertions(+), 1 deletion(-)

Index: linux-2.6/arch/x86/kernel/apic/io_apic.c
===================================================================
--- linux-2.6.orig/arch/x86/kernel/apic/io_apic.c
+++ linux-2.6/arch/x86/kernel/apic/io_apic.c
@@ -1477,10 +1477,27 @@ static void __init setup_IO_APIC_irqs(vo
struct irq_desc *desc;
struct irq_cfg *cfg;
int node = cpu_to_node(boot_cpu_id);
+ int ioapic_start = 0, ioapic_end = nr_ioapics;

apic_printk(APIC_VERBOSE, KERN_DEBUG "init IO_APIC IRQs\n");

- for (apic_id = 0; apic_id < nr_ioapics; apic_id++) {
+#ifdef CONFIG_ACPI
+ /*
+ * when acpi is used, at this point, we only have legacy entries
+ * in mp_irqs[] by mp_config_acpi_legacy_irqs/mp_override_legacy_irq
+ * so only setup for that ioapic, and will not print out those strange
+ * not connected on other ioapic
+ */
+ if (!acpi_disabled && acpi_ioapic) {
+ ioapic_start = mp_find_ioapic(0);
+ if (ioapic_start < 0)
+ ioapic_start = 0;
+ else
+ ioapic_end = ioapic_start + 1;
+ }
+#endif
+
+ for (apic_id = ioapic_start; apic_id < ioapic_end; apic_id++) {
for (pin = 0; pin < nr_ioapic_registers[apic_id]; pin++) {

idx = find_irq_entry(apic_id, pin, mp_INT);
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/