diff options
author | Rui Wang <rui.y.wang@intel.com> | 2016-06-08 02:59:53 -0400 |
---|---|---|
committer | Ingo Molnar <mingo@kernel.org> | 2016-06-10 08:48:18 -0400 |
commit | 4855531eb8582a98cb905d2baf86021254d7a675 (patch) | |
tree | 7876926d4ce6a72586abee78e5205575ccfd5d4c | |
parent | 9d98bcec731756b8688b59ec998707924d716d7b (diff) |
x86/ioapic: Simplify ioapic_setup_resources()
Optimize the function by removing the variable 'num'.
Signed-off-by: Rui Wang <rui.y.wang@intel.com>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Cc: tony.luck@intel.com
Cc: linux-pci@vger.kernel.org
Cc: rjw@rjwysocki.net
Cc: linux-acpi@vger.kernel.org
Cc: bhelgaas@google.com
Link: http://lkml.kernel.org/r/1465369193-4816-4-git-send-email-rui.y.wang@intel.com
Signed-off-by: Ingo Molnar <mingo@kernel.org>
-rw-r--r-- | arch/x86/kernel/apic/io_apic.c | 18 |
1 files changed, 7 insertions, 11 deletions
diff --git a/arch/x86/kernel/apic/io_apic.c b/arch/x86/kernel/apic/io_apic.c index 446702ed99dc..e58729597a7a 100644 --- a/arch/x86/kernel/apic/io_apic.c +++ b/arch/x86/kernel/apic/io_apic.c | |||
@@ -2567,29 +2567,25 @@ static struct resource * __init ioapic_setup_resources(void) | |||
2567 | unsigned long n; | 2567 | unsigned long n; |
2568 | struct resource *res; | 2568 | struct resource *res; |
2569 | char *mem; | 2569 | char *mem; |
2570 | int i, num = 0; | 2570 | int i; |
2571 | 2571 | ||
2572 | for_each_ioapic(i) | 2572 | if (nr_ioapics == 0) |
2573 | num++; | ||
2574 | if (num == 0) | ||
2575 | return NULL; | 2573 | return NULL; |
2576 | 2574 | ||
2577 | n = IOAPIC_RESOURCE_NAME_SIZE + sizeof(struct resource); | 2575 | n = IOAPIC_RESOURCE_NAME_SIZE + sizeof(struct resource); |
2578 | n *= num; | 2576 | n *= nr_ioapics; |
2579 | 2577 | ||
2580 | mem = alloc_bootmem(n); | 2578 | mem = alloc_bootmem(n); |
2581 | res = (void *)mem; | 2579 | res = (void *)mem; |
2582 | 2580 | ||
2583 | mem += sizeof(struct resource) * num; | 2581 | mem += sizeof(struct resource) * nr_ioapics; |
2584 | 2582 | ||
2585 | num = 0; | ||
2586 | for_each_ioapic(i) { | 2583 | for_each_ioapic(i) { |
2587 | res[num].name = mem; | 2584 | res[i].name = mem; |
2588 | res[num].flags = IORESOURCE_MEM | IORESOURCE_BUSY; | 2585 | res[i].flags = IORESOURCE_MEM | IORESOURCE_BUSY; |
2589 | snprintf(mem, IOAPIC_RESOURCE_NAME_SIZE, "IOAPIC %u", i); | 2586 | snprintf(mem, IOAPIC_RESOURCE_NAME_SIZE, "IOAPIC %u", i); |
2590 | mem += IOAPIC_RESOURCE_NAME_SIZE; | 2587 | mem += IOAPIC_RESOURCE_NAME_SIZE; |
2591 | ioapics[i].iomem_res = &res[num]; | 2588 | ioapics[i].iomem_res = &res[i]; |
2592 | num++; | ||
2593 | } | 2589 | } |
2594 | 2590 | ||
2595 | ioapic_resources = res; | 2591 | ioapic_resources = res; |