summaryrefslogtreecommitdiff
path: root/arch/m68k/include/asm/virtconvert.h
diff options
context:
space:
mode:
authorGreg Ungerer <gerg@uclinux.org>2010-01-13 03:42:05 +0300
committerLinus Torvalds <torvalds@linux-foundation.org>2010-01-13 07:51:45 +0300
commit682137f7e6bc78e3c324874c0c213123ddc5e261 (patch)
treedc7abee5b6ac11bb3819f6e8432566651998afe6 /arch/m68k/include/asm/virtconvert.h
parent066000dd856709b6980123eb39b957fe26993f7b (diff)
downloadlinux-682137f7e6bc78e3c324874c0c213123ddc5e261.tar.xz
m68knommu: fix definitions of __pa() and __va()
Fix compilation breakage of all m68knommu targets: CC arch/m68knommu/kernel/asm-offsets.s In file included from include/linux/sched.h:77, from arch/m68knommu/kernel/asm-offsets.c:12: include/linux/percpu.h: In function 'per_cpu_ptr_to_phys': include/linux/percpu.h:161: error: implicit declaration of function 'virt_to_phy This is broken in linux-2.6.33-rc3. Change the definitions of __pa() and __va() to not use virt_to_phys() and phys_to_virt(). Trivial 1:1 conversion required for the non-MMU case. A side effect if this is that the m68knommu can now use asm/virtconvert.h for the definition of virt_to_phys() and phys_to_virt(). Also cleaned up the definition of page_to_phys() when moving into virtconvert.h. Signed-off-by: Greg Ungerer <gerg@uclinux.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'arch/m68k/include/asm/virtconvert.h')
-rw-r--r--arch/m68k/include/asm/virtconvert.h4
1 files changed, 4 insertions, 0 deletions
diff --git a/arch/m68k/include/asm/virtconvert.h b/arch/m68k/include/asm/virtconvert.h
index 22ab05c9c52b..3f834b3ab5bd 100644
--- a/arch/m68k/include/asm/virtconvert.h
+++ b/arch/m68k/include/asm/virtconvert.h
@@ -26,6 +26,7 @@ static inline void *phys_to_virt(unsigned long address)
}
/* Permanent address of a page. */
+#ifdef CONFIG_MMU
#ifdef CONFIG_SINGLE_MEMORY_CHUNK
#define page_to_phys(page) \
__pa(PAGE_OFFSET + (((page) - pg_data_map[0].node_mem_map) << PAGE_SHIFT))
@@ -37,6 +38,9 @@ static inline void *phys_to_virt(unsigned long address)
page_to_pfn(__page) << PAGE_SHIFT; \
})
#endif
+#else
+#define page_to_phys(page) (((page) - mem_map) << PAGE_SHIFT)
+#endif
/*
* IO bus memory addresses are 1:1 with the physical address,