summaryrefslogtreecommitdiffstats
path: root/arch/microblaze/mm/pgtable.c
diff options
context:
space:
mode:
authorMichal Simek <monstr@monstr.eu>2010-04-13 08:59:37 +0200
committerMichal Simek <monstr@monstr.eu>2010-05-06 11:21:58 +0200
commit63f1032b97638fc2b023fa968b7703c8ebe6d6d9 (patch)
treed44fba046ea176d9beb1d90cc2bf940037b29f0f /arch/microblaze/mm/pgtable.c
parentmicroblaze: Quiet section mismatch warnings (diff)
downloadlinux-63f1032b97638fc2b023fa968b7703c8ebe6d6d9.tar.xz
linux-63f1032b97638fc2b023fa968b7703c8ebe6d6d9.zip
microblaze: Quiet section mismatch warnings for MMU version
Remove section mismatch - based on ppc aproach. WARNING: vmlinux.o(.text+0x64834): Section mismatch in reference from the function __pte_alloc_kernel() to the function .init.text:early_get_page() The function __pte_alloc_kernel() references the function __init early_get_page(). This is often because __pte_alloc_kernel lacks a __init annotation or the annotation of early_get_page is wrong. Signed-off-by: Michal Simek <monstr@monstr.eu>
Diffstat (limited to '')
-rw-r--r--arch/microblaze/mm/pgtable.c15
1 files changed, 15 insertions, 0 deletions
diff --git a/arch/microblaze/mm/pgtable.c b/arch/microblaze/mm/pgtable.c
index d31312cde6ea..c43bfc94e714 100644
--- a/arch/microblaze/mm/pgtable.c
+++ b/arch/microblaze/mm/pgtable.c
@@ -274,3 +274,18 @@ unsigned long iopa(unsigned long addr)
return pa;
}
+
+__init_refok pte_t *pte_alloc_one_kernel(struct mm_struct *mm,
+ unsigned long address)
+{
+ pte_t *pte;
+ if (mem_init_done) {
+ pte = (pte_t *)__get_free_page(GFP_KERNEL |
+ __GFP_REPEAT | __GFP_ZERO);
+ } else {
+ pte = (pte_t *)early_get_page();
+ if (pte)
+ clear_page(pte);
+ }
+ return pte;
+}