Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 1c05dda2 authored by KAMEZAWA Hiroyuki's avatar KAMEZAWA Hiroyuki Committed by Linus Torvalds
Browse files

[PATCH] unify pfn_to_page: alpha pfn_to_page



Alpha can use generic funcs.

Signed-off-by: default avatarKAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com>
Cc: Richard Henderson <rth@twiddle.net>
Cc: Ivan Kokshaysky <ink@jurassic.park.msu.ru>
Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
parent 659e3505
Loading
Loading
Loading
Loading
+1 −15
Original line number Diff line number Diff line
@@ -59,9 +59,6 @@ PLAT_NODE_DATA_LOCALNR(unsigned long p, int n)
#define kvaddr_to_nid(kaddr)	pa_to_nid(__pa(kaddr))
#define node_start_pfn(nid)	(NODE_DATA(nid)->node_start_pfn)

#define local_mapnr(kvaddr) \
      ((__pa(kvaddr) >> PAGE_SHIFT) - node_start_pfn(kvaddr_to_nid(kvaddr)))

/*
 * Given a kaddr, LOCAL_BASE_ADDR finds the owning node of the memory
 * and returns the kaddr corresponding to first physical page in the
@@ -104,19 +101,8 @@ PLAT_NODE_DATA_LOCALNR(unsigned long p, int n)
	__xx;                                                           \
})

#define pfn_to_page(pfn)						\
({									\
 	unsigned long kaddr = (unsigned long)__va((pfn) << PAGE_SHIFT);	\
	(NODE_DATA(kvaddr_to_nid(kaddr))->node_mem_map + local_mapnr(kaddr));	\
})

#define page_to_pfn(page)						\
	((page) - page_zone(page)->zone_mem_map +			\
	 (page_zone(page)->zone_start_pfn))

#define page_to_pa(page)						\
	((( (page) - page_zone(page)->zone_mem_map )			\
	+ page_zone(page)->zone_start_pfn) << PAGE_SHIFT)
	(page_to_pfn(page) << PAGE_SHIFT)

#define pfn_to_nid(pfn)		pa_to_nid(((u64)(pfn) << PAGE_SHIFT))
#define pfn_valid(pfn)							\
+1 −3
Original line number Diff line number Diff line
@@ -85,8 +85,6 @@ typedef unsigned long pgprot_t;
#define __pa(x)			((unsigned long) (x) - PAGE_OFFSET)
#define __va(x)			((void *)((unsigned long) (x) + PAGE_OFFSET))
#ifndef CONFIG_DISCONTIGMEM
#define pfn_to_page(pfn)	(mem_map + (pfn))
#define page_to_pfn(page)	((unsigned long)((page) - mem_map))
#define virt_to_page(kaddr)	pfn_to_page(__pa(kaddr) >> PAGE_SHIFT)

#define pfn_valid(pfn)		((pfn) < max_mapnr)
@@ -95,9 +93,9 @@ typedef unsigned long pgprot_t;

#define VM_DATA_DEFAULT_FLAGS		(VM_READ | VM_WRITE | VM_EXEC | \
					 VM_MAYREAD | VM_MAYWRITE | VM_MAYEXEC)

#endif /* __KERNEL__ */

#include <asm-generic/memory_model.h>
#include <asm-generic/page.h>

#endif /* _ALPHA_PAGE_H */