summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBenjamin Herrenschmidt <benh@kernel.crashing.org>2010-07-28 14:31:29 +1000
committerBenjamin Herrenschmidt <benh@kernel.crashing.org>2010-08-05 12:56:11 +1000
commit4734b594c6ca1be796d30c82d93fdf5160f45124 (patch)
tree72443c76c7d4c0cade456cc21997f383417747de
parent9d3c30f5a17ec35894eadb7171f724643dce19c3 (diff)
downloadlinux-3.10-4734b594c6ca1be796d30c82d93fdf5160f45124.tar.gz
linux-3.10-4734b594c6ca1be796d30c82d93fdf5160f45124.tar.bz2
linux-3.10-4734b594c6ca1be796d30c82d93fdf5160f45124.zip
memblock: Remove memblock_type.size and add memblock.memory_size instead
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>
-rw-r--r--arch/powerpc/mm/mem.c2
-rw-r--r--include/linux/memblock.h2
-rw-r--r--mm/memblock.c8
3 files changed, 6 insertions, 6 deletions
diff --git a/arch/powerpc/mm/mem.c b/arch/powerpc/mm/mem.c
index 52df5428ece..f661f6c527d 100644
--- a/arch/powerpc/mm/mem.c
+++ b/arch/powerpc/mm/mem.c
@@ -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
diff --git a/include/linux/memblock.h b/include/linux/memblock.h
index 0fe6dd56a4b..c9c7b0f344a 100644
--- a/include/linux/memblock.h
+++ b/include/linux/memblock.h
@@ -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;
};
diff --git a/mm/memblock.c b/mm/memblock.c
index 81da63592a6..5ae413e9afd 100644
--- a/mm/memblock.c
+++ b/mm/memblock.c
@@ -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)