aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/mm
diff options
context:
space:
mode:
authorRussell King <rmk+kernel@arm.linux.org.uk>2010-05-22 19:47:18 +0100
committerRussell King <rmk+kernel@arm.linux.org.uk>2010-07-27 08:48:23 +0100
commit8d717a52d1b0959128be5134dd12608e8e4f2115 (patch)
tree6bc2aca8c9b14a9b0d2f86609e63c2436b03c2d6 /arch/arm/mm
parent2778f62056ada442414392d7ccd41188bb631619 (diff)
downloadkernel_samsung_tuna-8d717a52d1b0959128be5134dd12608e8e4f2115.zip
kernel_samsung_tuna-8d717a52d1b0959128be5134dd12608e8e4f2115.tar.gz
kernel_samsung_tuna-8d717a52d1b0959128be5134dd12608e8e4f2115.tar.bz2
ARM: Convert platform reservations to use LMB rather than bootmem
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Diffstat (limited to 'arch/arm/mm')
-rw-r--r--arch/arm/mm/init.c11
-rw-r--r--arch/arm/mm/mm.h3
-rw-r--r--arch/arm/mm/mmu.c2
-rw-r--r--arch/arm/mm/nommu.c2
4 files changed, 9 insertions, 9 deletions
diff --git a/arch/arm/mm/init.c b/arch/arm/mm/init.c
index 4877e06..99d6bc9 100644
--- a/arch/arm/mm/init.c
+++ b/arch/arm/mm/init.c
@@ -271,7 +271,7 @@ static void arm_memory_present(struct meminfo *mi)
}
#endif
-void __init arm_memblock_init(struct meminfo *mi)
+void __init arm_memblock_init(struct meminfo *mi, struct machine_desc *mdesc)
{
int i;
@@ -297,11 +297,15 @@ void __init arm_memblock_init(struct meminfo *mi)
arm_mm_memblock_reserve();
+ /* reserve any platform specific memblock areas */
+ if (mdesc->reserve)
+ mdesc->reserve();
+
memblock_analyze();
memblock_dump_all();
}
-void __init bootmem_init(struct machine_desc *mdesc)
+void __init bootmem_init(void)
{
struct meminfo *mi = &meminfo;
unsigned long min, max_low, max_high;
@@ -312,9 +316,6 @@ void __init bootmem_init(struct machine_desc *mdesc)
arm_bootmem_init(mi, min, max_low);
- if (mdesc->reserve)
- mdesc->reserve();
-
/*
* Sparsemem tries to allocate bootmem in memory_present(),
* so must be done after the fixed reservations
diff --git a/arch/arm/mm/mm.h b/arch/arm/mm/mm.h
index fcfffae..6630620 100644
--- a/arch/arm/mm/mm.h
+++ b/arch/arm/mm/mm.h
@@ -28,6 +28,5 @@ extern void __flush_dcache_page(struct address_space *mapping, struct page *page
#endif
-struct machine_desc;
-void __init bootmem_init(struct machine_desc *);
+void __init bootmem_init(void);
void arm_mm_memblock_reserve(void);
diff --git a/arch/arm/mm/mmu.c b/arch/arm/mm/mmu.c
index 833a6c3..d5541ad 100644
--- a/arch/arm/mm/mmu.c
+++ b/arch/arm/mm/mmu.c
@@ -1006,7 +1006,7 @@ void __init paging_init(struct machine_desc *mdesc)
/* allocate the zero page. */
zero_page = early_alloc(PAGE_SIZE);
- bootmem_init(mdesc);
+ bootmem_init();
empty_zero_page = virt_to_page(zero_page);
__flush_dcache_page(NULL, empty_zero_page);
diff --git a/arch/arm/mm/nommu.c b/arch/arm/mm/nommu.c
index 40e38fc..687d023 100644
--- a/arch/arm/mm/nommu.c
+++ b/arch/arm/mm/nommu.c
@@ -33,7 +33,7 @@ void __init arm_mm_memblock_reserve(void)
*/
void __init paging_init(struct machine_desc *mdesc)
{
- bootmem_init(mdesc);
+ bootmem_init();
}
/*