[PATCH] ppc64: Simplify some lmb functions
authorMichael Ellerman <michael@ellerman.id.au>
Wed, 3 Aug 2005 10:21:26 +0000 (20:21 +1000)
committerPaul Mackerras <paulus@samba.org>
Mon, 29 Aug 2005 00:53:37 +0000 (10:53 +1000)
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>
arch/ppc64/kernel/lmb.c

index 6ed6312..5adaca2 100644 (file)
@@ -119,20 +119,12 @@ lmb_init(void)
 void __init
 lmb_analyze(void)
 {
-       unsigned long i;
-       unsigned long mem_size = 0;
-       unsigned long size_mask = 0;
-
-       for (i=0; i < lmb.memory.cnt; i++) {
-               unsigned long lmb_size;
+       int i;
 
-               lmb_size = lmb.memory.region[i].size;
+       lmb.memory.size = 0;
 
-               mem_size += lmb_size;
-               size_mask |= lmb_size;
-       }
-
-       lmb.memory.size = mem_size;
+       for (i = 0; i < lmb.memory.cnt; i++)
+               lmb.memory.size += lmb.memory.region[i].size;
 }
 
 /* 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;
 }
 
+/* You must call lmb_analyze() before this. */
 unsigned long __init
 lmb_phys_mem_size(void)
 {
-#ifdef CONFIG_MSCHUNKS
        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