summaryrefslogtreecommitdiffstats
path: root/include/asm-generic/memory_model.h
diff options
context:
space:
mode:
authorChen Gang <xili_gchen_5257@hotmail.com>2016-01-15 00:18:33 +0100
committerLinus Torvalds <torvalds@linux-foundation.org>2016-01-15 01:00:49 +0100
commit8f235d1a3eb7198affe7cadf676a10afb8a46a1a (patch)
tree78f5ec435417423e50a3a3d59a0af8abbf5cd15c /include/asm-generic/memory_model.h
parentmm/vmscan.c: change trace_mm_vmscan_writepage() proto type (diff)
downloadlinux-8f235d1a3eb7198affe7cadf676a10afb8a46a1a.tar.xz
linux-8f235d1a3eb7198affe7cadf676a10afb8a46a1a.zip
mm: add PHYS_PFN, use it in __phys_to_pfn()
__phys_to_pfn and __pfn_to_phys are symmetric, PHYS_PFN and PFN_PHYS are semmetric: - y = (phys_addr_t)x << PAGE_SHIFT - y >> PAGE_SHIFT = (phys_add_t)x - (unsigned long)(y >> PAGE_SHIFT) = x [akpm@linux-foundation.org: use macro arg name `x'] [arnd@arndb.de: include linux/pfn.h for PHYS_PFN definition] Signed-off-by: Chen Gang <gang.chen.5i5j@gmail.com> Cc: Oleg Nesterov <oleg@redhat.com> Signed-off-by: Arnd Bergmann <arnd@arndb.de> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'include/asm-generic/memory_model.h')
-rw-r--r--include/asm-generic/memory_model.h4
1 files changed, 3 insertions, 1 deletions
diff --git a/include/asm-generic/memory_model.h b/include/asm-generic/memory_model.h
index 4b4b056a6eb0..5148150cc80b 100644
--- a/include/asm-generic/memory_model.h
+++ b/include/asm-generic/memory_model.h
@@ -1,6 +1,8 @@
#ifndef __ASM_MEMORY_MODEL_H
#define __ASM_MEMORY_MODEL_H
+#include <linux/pfn.h>
+
#ifndef __ASSEMBLY__
#if defined(CONFIG_FLATMEM)
@@ -72,7 +74,7 @@
/*
* Convert a physical address to a Page Frame Number and back
*/
-#define __phys_to_pfn(paddr) ((unsigned long)((paddr) >> PAGE_SHIFT))
+#define __phys_to_pfn(paddr) PHYS_PFN(paddr)
#define __pfn_to_phys(pfn) PFN_PHYS(pfn)
#define page_to_pfn __page_to_pfn