Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

[MIPS] Consolidate definitions of pfn_valid in one file.

Signed-off-by: Ralf Baechle <ralf@linux-mips.org>

+19 -8
-8
include/asm-mips/mmzone.h
··· 14 14 #define kvaddr_to_nid(kvaddr) pa_to_nid(__pa(kvaddr)) 15 15 #define pfn_to_nid(pfn) pa_to_nid((pfn) << PAGE_SHIFT) 16 16 17 - #define pfn_valid(pfn) \ 18 - ({ \ 19 - unsigned long __pfn = (pfn); \ 20 - int __n = pfn_to_nid(__pfn); \ 21 - ((__n >= 0) ? (__pfn < NODE_DATA(__n)->node_start_pfn + \ 22 - NODE_DATA(__n)->node_spanned_pages) : 0);\ 23 - }) 24 - 25 17 /* XXX: FIXME -- wli */ 26 18 #define kern_addr_valid(addr) (0) 27 19
+19
include/asm-mips/page.h
··· 145 145 #endif 146 146 #endif 147 147 148 + #ifdef CONFIG_FLATMEM 149 + 150 + #define pfn_valid(pfn) ((pfn) < max_mapnr) 151 + 152 + #elif defined(CONFIG_NEED_MULTIPLE_NODES) 153 + 154 + #define pfn_valid(pfn) \ 155 + ({ \ 156 + unsigned long __pfn = (pfn); \ 157 + int __n = pfn_to_nid(__pfn); \ 158 + ((__n >= 0) ? (__pfn < NODE_DATA(__n)->node_start_pfn + \ 159 + NODE_DATA(__n)->node_spanned_pages) \ 160 + : 0); \ 161 + }) 162 + 163 + #else 164 + #error Provide a definition of pfn_valid 165 + #endif 166 + 148 167 #define virt_to_page(kaddr) pfn_to_page(__pa(kaddr) >> PAGE_SHIFT) 149 168 #define virt_addr_valid(kaddr) pfn_valid(__pa(kaddr) >> PAGE_SHIFT) 150 169