memblock: Remove memblock_type.size and add memblock.memory_size instead
Benjamin Herrenschmidt [Wed, 28 Jul 2010 04:31:29 +0000 (14:31 +1000)]
Right now, both the "memory" and "reserved" memblock_type structures have
a "size" member. It represents the calculated memory size in the former
case and is unused in the latter.

This moves it out to the main memblock structure instead

Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>

arch/powerpc/mm/mem.c
include/linux/memblock.h
mm/memblock.c

index 52df542..f661f6c 100644 (file)
@@ -301,7 +301,7 @@ void __init mem_init(void)
                swiotlb_init(1);
 #endif
 
-       num_physpages = memblock.memory.size >> PAGE_SHIFT;
+       num_physpages = memblock_phys_mem_size() >> PAGE_SHIFT;
        high_memory = (void *) __va(max_low_pfn * PAGE_SIZE);
 
 #ifdef CONFIG_NEED_MULTIPLE_NODES
index 0fe6dd5..c9c7b0f 100644 (file)
@@ -27,12 +27,12 @@ struct memblock_region {
 
 struct memblock_type {
        unsigned long cnt;
-       phys_addr_t size;
        struct memblock_region regions[MAX_MEMBLOCK_REGIONS+1];
 };
 
 struct memblock {
        phys_addr_t current_limit;
+       phys_addr_t memory_size;        /* Updated by memblock_analyze() */
        struct memblock_type memory;
        struct memblock_type reserved;
 };
index 81da635..5ae413e 100644 (file)
@@ -49,7 +49,7 @@ void memblock_dump_all(void)
                return;
 
        pr_info("MEMBLOCK configuration:\n");
-       pr_info(" memory.size = 0x%llx\n", (unsigned long long)memblock.memory.size);
+       pr_info(" memory size = 0x%llx\n", (unsigned long long)memblock.memory_size);
 
        memblock_dump(&memblock.memory, "memory");
        memblock_dump(&memblock.reserved, "reserved");
@@ -123,10 +123,10 @@ void __init memblock_analyze(void)
 {
        int i;
 
-       memblock.memory.size = 0;
+       memblock.memory_size = 0;
 
        for (i = 0; i < memblock.memory.cnt; i++)
-               memblock.memory.size += memblock.memory.regions[i].size;
+               memblock.memory_size += memblock.memory.regions[i].size;
 }
 
 static long memblock_add_region(struct memblock_type *type, phys_addr_t base, phys_addr_t size)
@@ -423,7 +423,7 @@ phys_addr_t __init __memblock_alloc_base(phys_addr_t size, phys_addr_t align, ph
 /* You must call memblock_analyze() before this. */
 phys_addr_t __init memblock_phys_mem_size(void)
 {
-       return memblock.memory.size;
+       return memblock.memory_size;
 }
 
 phys_addr_t memblock_end_of_DRAM(void)