summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLaura Abbott <lauraa@codeaurora.org>2013-04-09 17:07:02 -0700
committerDavid Keitel <dkeitel@codeaurora.org>2016-03-22 11:04:46 -0700
commit65899d855fbf5088be4a1d16adf9f7359f6a850c (patch)
treeff1ecd66edac7f83d351e8f119012d65346baaca
parent40eb383998a792c1fa6983dfd3cf8c10c559339b (diff)
mm: highmem: Add definitions for kmap_atomic_flush_unused
kmap_flush_unused does not flush kmap_atomic mappings which are handled separately. Architectures may have use cases to require these to be flushed. Add an option to let architectures define kmap_atomic flushing to get rid of extra mappings. Change-Id: I5a338ed9e215f0f0ad3ab58a3066d2f4c8ce3ba7 Signed-off-by: Laura Abbott <lauraa@codeaurora.org>
-rw-r--r--include/linux/highmem.h7
1 files changed, 7 insertions, 0 deletions
diff --git a/include/linux/highmem.h b/include/linux/highmem.h
index bb3f3297062a..4c70716759a6 100644
--- a/include/linux/highmem.h
+++ b/include/linux/highmem.h
@@ -39,6 +39,12 @@ extern unsigned long totalhigh_pages;
void kmap_flush_unused(void);
+#ifdef CONFIG_ARCH_WANT_KMAP_ATOMIC_FLUSH
+void kmap_atomic_flush_unused(void);
+#else
+static inline void kmap_atomic_flush_unused(void) { }
+#endif
+
struct page *kmap_to_page(void *addr);
#else /* CONFIG_HIGHMEM */
@@ -80,6 +86,7 @@ static inline void __kunmap_atomic(void *addr)
#define kmap_atomic_pfn(pfn) kmap_atomic(pfn_to_page(pfn))
#define kmap_flush_unused() do {} while(0)
+#define kmap_atomic_flush_unused() do {} while (0)
#endif
#endif /* CONFIG_HIGHMEM */