[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: Michael Ellerman <michael@ellerman.id.au>
Signed-off-by: Paul Mackerras <paulus@samba.org>
This commit is contained in:
Michael Ellerman 2005-08-03 20:21:26 +10:00 committed by Paul Mackerras
parent 180379dcef
commit 71e1f55ad4

View File

@ -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++) { lmb.memory.size = 0;
unsigned long lmb_size;
lmb_size = lmb.memory.region[i].size; for (i = 0; i < lmb.memory.cnt; i++)
lmb.memory.size += lmb.memory.region[i].size;
mem_size += lmb_size;
size_mask |= lmb_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)
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