[PATCH] unify pfn_to_page: arm pfn_to_page
ARM can use generic funcs. PFN_TO_NID, LOCAL_MAP_NR are defined by sub-archs. Signed-off-by: KAMEZAWA Hirotuki <kamezawa.hiroyu@jp.fujitsu.com> Cc: Russell King <rmk@arm.linux.org.uk> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
This commit is contained in:
parent
1c05dda2b6
commit
7eb98a2f3b
1 changed files with 5 additions and 10 deletions
|
@ -172,9 +172,7 @@ static inline __deprecated void *bus_to_virt(unsigned long x)
|
|||
* virt_addr_valid(k) indicates whether a virtual address is valid
|
||||
*/
|
||||
#ifndef CONFIG_DISCONTIGMEM
|
||||
|
||||
#define page_to_pfn(page) (((page) - mem_map) + PHYS_PFN_OFFSET)
|
||||
#define pfn_to_page(pfn) ((mem_map + (pfn)) - PHYS_PFN_OFFSET)
|
||||
#define ARCH_PFN_OFFSET (PHYS_PFN_OFFSET)
|
||||
#define pfn_valid(pfn) ((pfn) >= PHYS_PFN_OFFSET && (pfn) < (PHYS_PFN_OFFSET + max_mapnr))
|
||||
|
||||
#define virt_to_page(kaddr) (pfn_to_page(__pa(kaddr) >> PAGE_SHIFT))
|
||||
|
@ -189,13 +187,8 @@ static inline __deprecated void *bus_to_virt(unsigned long x)
|
|||
* around in memory.
|
||||
*/
|
||||
#include <linux/numa.h>
|
||||
|
||||
#define page_to_pfn(page) \
|
||||
(( (page) - page_zone(page)->zone_mem_map) \
|
||||
+ page_zone(page)->zone_start_pfn)
|
||||
|
||||
#define pfn_to_page(pfn) \
|
||||
(PFN_TO_MAPBASE(pfn) + LOCAL_MAP_NR((pfn) << PAGE_SHIFT))
|
||||
#define arch_pfn_to_nid(pfn) (PFN_TO_NID(pfn))
|
||||
#define arch_local_page_offset(pfn, nid) (LOCAL_MAP_NR((pfn) << PAGE_OFFSET))
|
||||
|
||||
#define pfn_valid(pfn) \
|
||||
({ \
|
||||
|
@ -243,4 +236,6 @@ static inline __deprecated void *bus_to_virt(unsigned long x)
|
|||
|
||||
#endif
|
||||
|
||||
#include <asm-generic/memory_model.h>
|
||||
|
||||
#endif
|
||||
|
|
Loading…
Add table
Reference in a new issue