Skip to content

Commit

Permalink
x86: ioapic: Split out the nested loop in setup_IO_APIC_irqs()
Browse files Browse the repository at this point in the history
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>
  • Loading branch information
Thomas Gleixner committed Feb 23, 2011
1 parent c8d6b8f commit ed972cc
Showing 1 changed file with 13 additions and 6 deletions.
19 changes: 13 additions & 6 deletions arch/x86/kernel/apic/io_apic.c
Original file line number Diff line number Diff line change
Expand Up @@ -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))
Expand Down Expand Up @@ -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()
Expand Down

0 comments on commit ed972cc

Please sign in to comment.