Merge git://oak/home/sfr/kernels/iseries/work
[firefly-linux-kernel-4.4.55.git] / include / asm-ia64 / page.h
index 9edffad8c28b730b301a9725d2af79463be57bde..9d41548b7fef43d1f98abbbb1a5dfaa371c9a031 100644 (file)
@@ -102,15 +102,15 @@ do {                                              \
 
 #ifdef CONFIG_VIRTUAL_MEM_MAP
 extern int ia64_pfn_valid (unsigned long pfn);
-#else
+#elif defined(CONFIG_FLATMEM)
 # define ia64_pfn_valid(pfn) 1
 #endif
 
-#ifndef CONFIG_DISCONTIGMEM
+#ifdef CONFIG_FLATMEM
 # define pfn_valid(pfn)                (((pfn) < max_mapnr) && ia64_pfn_valid(pfn))
 # define page_to_pfn(page)     ((unsigned long) (page - mem_map))
 # define pfn_to_page(pfn)      (mem_map + (pfn))
-#else
+#elif defined(CONFIG_DISCONTIGMEM)
 extern struct page *vmem_map;
 extern unsigned long max_low_pfn;
 # define pfn_valid(pfn)                (((pfn) < max_low_pfn) && ia64_pfn_valid(pfn))
@@ -120,6 +120,7 @@ extern unsigned long max_low_pfn;
 
 #define page_to_phys(page)     (page_to_pfn(page) << PAGE_SHIFT)
 #define virt_to_page(kaddr)    pfn_to_page(__pa(kaddr) >> PAGE_SHIFT)
+#define pfn_to_kaddr(pfn)      __va((pfn) << PAGE_SHIFT)
 
 typedef union ia64_va {
        struct {