Commit 71e1f55a authored by Michael Ellerman's avatar Michael Ellerman Committed by Paul Mackerras

[PATCH] ppc64: Simplify some lmb functions

lmb_phys_mem_size() can always return lmb.memory.size, as long as it's called
after lmb_analyze(), which it is. There's no need to recalculate the size on
every call.

lmb_analyze() was calculating a few things we then threw away, so just don't
calculate them to start with.
Signed-off-by: default avatarMichael Ellerman <michael@ellerman.id.au>
Signed-off-by: default avatarPaul Mackerras <paulus@samba.org>
parent 180379dc
...@@ -119,20 +119,12 @@ lmb_init(void) ...@@ -119,20 +119,12 @@ lmb_init(void)
void __init void __init
lmb_analyze(void) lmb_analyze(void)
{ {
unsigned long i; int i;
unsigned long mem_size = 0;
unsigned long size_mask = 0;
for (i=0; i < lmb.memory.cnt; i++) {
unsigned long lmb_size;
lmb_size = lmb.memory.region[i].size; lmb.memory.size = 0;
mem_size += lmb_size; for (i = 0; i < lmb.memory.cnt; i++)
size_mask |= lmb_size; lmb.memory.size += lmb.memory.region[i].size;
}
lmb.memory.size = mem_size;
} }
/* This routine called with relocation disabled. */ /* This routine called with relocation disabled. */
...@@ -266,20 +258,11 @@ lmb_alloc_base(unsigned long size, unsigned long align, unsigned long max_addr) ...@@ -266,20 +258,11 @@ lmb_alloc_base(unsigned long size, unsigned long align, unsigned long max_addr)
return base; return base;
} }
/* You must call lmb_analyze() before this. */
unsigned long __init unsigned long __init
lmb_phys_mem_size(void) lmb_phys_mem_size(void)
{ {
#ifdef CONFIG_MSCHUNKS
return lmb.memory.size; return lmb.memory.size;
#else
unsigned long total = 0;
int i;
/* add all physical memory to the bootmem map */
for (i=0; i < lmb.memory.cnt; i++)
total += lmb.memory.region[i].size;
return total;
#endif /* CONFIG_MSCHUNKS */
} }
unsigned long __init unsigned long __init
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment