x86: ioapic: Split out the nested loop in setup_IO_APIC_irqs()
authorThomas Gleixner <tglx@linutronix.de>
Wed, 23 Feb 2011 13:31:36 +0000 (14:31 +0100)
committerThomas Gleixner <tglx@linutronix.de>
Wed, 23 Feb 2011 16:26:49 +0000 (17:26 +0100)
Two consecutive

    for(...)
    for(...)

lines to avoid an extra indentation are just horrible to read. I had
to look more than once to figure out what the code is doing.

Split out the inner loop into a separate function.

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
arch/x86/kernel/apic/io_apic.c

index e33ccb4..f751a82 100644 (file)
@@ -1398,15 +1398,12 @@ static bool __init io_apic_pin_not_connected(int idx, int apic_id, int pin)
        return true;
 }
 
-static void __init setup_IO_APIC_irqs(void)
+static void __init __io_apic_setup_irqs(unsigned int apic_id)
 {
-       int apic_id, pin, idx, irq;
-       int node = cpu_to_node(0);
+       int idx, node = cpu_to_node(0);
+       unsigned int pin, irq;
        struct irq_cfg *cfg;
 
-       apic_printk(APIC_VERBOSE, KERN_DEBUG "init IO_APIC IRQs\n");
-
-       for (apic_id = 0; apic_id < nr_ioapics; apic_id++)
        for (pin = 0; pin < nr_ioapic_registers[apic_id]; pin++) {
                idx = find_irq_entry(apic_id, pin, mp_INT);
                if (io_apic_pin_not_connected(idx, apic_id, pin))
@@ -1439,6 +1436,16 @@ static void __init setup_IO_APIC_irqs(void)
        }
 }
 
+static void __init setup_IO_APIC_irqs(void)
+{
+       unsigned int apic_id;
+
+       apic_printk(APIC_VERBOSE, KERN_DEBUG "init IO_APIC IRQs\n");
+
+       for (apic_id = 0; apic_id < nr_ioapics; apic_id++)
+               __io_apic_setup_irqs(apic_id);
+}
+
 /*
  * for the gsit that is not in first ioapic
  * but could not use acpi_register_gsi()