aboutsummaryrefslogtreecommitdiffstats
path: root/include/asm-generic
diff options
context:
space:
mode:
authorChristoph Hellwig <hch@lst.de>2024-10-23 07:36:36 +0200
committerArnd Bergmann <arnd@arndb.de>2024-10-28 21:44:28 +0000
commitc5c3238d9b8cee58cd4b08bbbe9347a94a566390 (patch)
tree3385a96ef2934aae9eb1c034bee9c3855727734a /include/asm-generic
parentasm-generic/io.h: Remove I/O port accessors for HAS_IOPORT=n (diff)
downloadlinux-c5c3238d9b8cee58cd4b08bbbe9347a94a566390.tar.gz
linux-c5c3238d9b8cee58cd4b08bbbe9347a94a566390.zip
asm-generic: provide generic page_to_phys and phys_to_page implementations
page_to_phys is duplicated by all architectures, and from some strange reason placed in <asm/io.h> where it doesn't fit at all. phys_to_page is only provided by a few architectures despite having a lot of open coded users. Provide generic versions in <asm-generic/memory_model.h> to make these helpers more easily usable. Note with this patch powerpc loses the CONFIG_DEBUG_VIRTUAL pfn_valid check. It will be added back in a generic version later. Signed-off-by: Christoph Hellwig <hch@lst.de> Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Diffstat (limited to 'include/asm-generic')
-rw-r--r--include/asm-generic/memory_model.h3
1 files changed, 3 insertions, 0 deletions
diff --git a/include/asm-generic/memory_model.h b/include/asm-generic/memory_model.h
index 6796abe1900e..a73a140cbecd 100644
--- a/include/asm-generic/memory_model.h
+++ b/include/asm-generic/memory_model.h
@@ -64,6 +64,9 @@ static inline int pfn_valid(unsigned long pfn)
#define page_to_pfn __page_to_pfn
#define pfn_to_page __pfn_to_page
+#define page_to_phys(page) PFN_PHYS(page_to_pfn(page))
+#define phys_to_page(phys) pfn_to_page(PHYS_PFN(phys))
+
#endif /* __ASSEMBLY__ */
#endif