aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorIngo Molnar <mingo@kernel.org>2021-08-06 06:16:27 +0200
committerIngo Molnar <mingo@kernel.org>2022-03-15 12:57:30 +0100
commitb1bf725e69a6599bf0b1458e8a389ceca748dfc4 (patch)
tree0b446e9b101fd8ab5afe4720f60215cbec15ed87
parenta2938fbe6db374683c7bb349340760141ff4ac23 (diff)
downloadtip-b1bf725e69a6599bf0b1458e8a389ceca748dfc4.tar.gz
headers/deps: mm: Optimize <linux/mm_api.h> dependencies, remove <linux/mm_page_address.h> inclusion
-------------------------------------------------------------------- | Combined, preprocessed C code size of header, without line markers, | with comments stripped: ------------------------- before: | #include <linux/mm_api.h> | LOC: 9,424 | headers: 252 after: | #include <linux/mm_api.h> | LOC: 9,419 | headers: 251 Fix up dangling dependencies. Signed-off-by: Ingo Molnar <mingo@kernel.org>
-rw-r--r--include/asm-generic/memory_model.h2
-rw-r--r--include/linux/mm_api.h6
-rw-r--r--include/linux/mm_page_address.h5
-rw-r--r--mm/slab.h1
4 files changed, 8 insertions, 6 deletions
diff --git a/include/asm-generic/memory_model.h b/include/asm-generic/memory_model.h
index a2c8ed60233a41..a2eed5bfa331a6 100644
--- a/include/asm-generic/memory_model.h
+++ b/include/asm-generic/memory_model.h
@@ -11,6 +11,8 @@
*/
#if defined(CONFIG_FLATMEM)
+#include <linux/mm_page_address.h>
+
#ifndef ARCH_PFN_OFFSET
#define ARCH_PFN_OFFSET (0UL)
#endif
diff --git a/include/linux/mm_api.h b/include/linux/mm_api.h
index 0e201ce0bd9ac8..e08684baef4f2d 100644
--- a/include/linux/mm_api.h
+++ b/include/linux/mm_api.h
@@ -20,7 +20,6 @@
#include <asm/mmu.h>
-#include <linux/mm_page_address.h>
#include <linux/mm_types_task.h>
#include <linux/spinlock_types.h>
@@ -1179,11 +1178,6 @@ static inline int arch_make_folio_accessible(struct folio *folio)
}
#endif
-static inline void *folio_address(const struct folio *folio)
-{
- return page_address(&folio->page);
-}
-
extern void *page_rmapping(struct page *page);
extern struct anon_vma *page_anon_vma(struct page *page);
extern pgoff_t __page_file_index(struct page *page);
diff --git a/include/linux/mm_page_address.h b/include/linux/mm_page_address.h
index cfaa1cf56a3886..8a40cf6c944248 100644
--- a/include/linux/mm_page_address.h
+++ b/include/linux/mm_page_address.h
@@ -59,6 +59,11 @@ void page_address_init(void);
#define page_address_init() do { } while(0)
#endif
+static inline void *folio_address(const struct folio *folio)
+{
+ return page_address(&folio->page);
+}
+
/* Support for virtually mapped pages */
struct page *vmalloc_to_page(const void *addr);
unsigned long vmalloc_to_pfn(const void *addr);
diff --git a/mm/slab.h b/mm/slab.h
index b7a7d629c62697..e5f32451798553 100644
--- a/mm/slab.h
+++ b/mm/slab.h
@@ -2,6 +2,7 @@
#ifndef MM_SLAB_H
#define MM_SLAB_H
+#include <linux/mm_page_address.h>
#include <linux/gfp_api.h>
/*