x86: ioapic: Split out the nested loop in setup_IO_APIC_irqs()

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>
This commit is contained in:
Thomas Gleixner 2011-02-23 14:31:36 +01:00
parent c8d6b8fe72
commit ed972ccf43

View 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()