summaryrefslogtreecommitdiffstats
path: root/arch/x86/include/asm/iomap.h
diff options
context:
space:
mode:
authorThomas Gleixner <tglx@linutronix.de>2020-11-03 10:27:20 +0100
committerThomas Gleixner <tglx@linutronix.de>2020-11-06 23:14:55 +0100
commit157e118b55113d1e6c7f8ddfcec0a1dbf3a69511 (patch)
treebb8cbaddde204f3f9839c95b1f7f30869fd895f4 /arch/x86/include/asm/iomap.h
parenthighmem: Make DEBUG_HIGHMEM functional (diff)
downloadlinux-157e118b55113d1e6c7f8ddfcec0a1dbf3a69511.tar.xz
linux-157e118b55113d1e6c7f8ddfcec0a1dbf3a69511.zip
x86/mm/highmem: Use generic kmap atomic implementation
Convert X86 to the generic kmap atomic implementation and make the iomap_atomic() naming convention consistent while at it. Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Link: https://lore.kernel.org/r/20201103095857.375127260@linutronix.de
Diffstat (limited to 'arch/x86/include/asm/iomap.h')
-rw-r--r--arch/x86/include/asm/iomap.h18
1 files changed, 10 insertions, 8 deletions
diff --git a/arch/x86/include/asm/iomap.h b/arch/x86/include/asm/iomap.h
index bacf68c4d70e..0be7a30fd6bc 100644
--- a/arch/x86/include/asm/iomap.h
+++ b/arch/x86/include/asm/iomap.h
@@ -9,19 +9,21 @@
#include <linux/fs.h>
#include <linux/mm.h>
#include <linux/uaccess.h>
+#include <linux/highmem.h>
#include <asm/cacheflush.h>
#include <asm/tlbflush.h>
-void __iomem *
-iomap_atomic_prot_pfn(unsigned long pfn, pgprot_t prot);
+void __iomem *iomap_atomic_pfn_prot(unsigned long pfn, pgprot_t prot);
-void
-iounmap_atomic(void __iomem *kvaddr);
+static inline void iounmap_atomic(void __iomem *vaddr)
+{
+ kunmap_local_indexed((void __force *)vaddr);
+ pagefault_enable();
+ preempt_enable();
+}
-int
-iomap_create_wc(resource_size_t base, unsigned long size, pgprot_t *prot);
+int iomap_create_wc(resource_size_t base, unsigned long size, pgprot_t *prot);
-void
-iomap_free(resource_size_t base, unsigned long size);
+void iomap_free(resource_size_t base, unsigned long size);
#endif /* _ASM_X86_IOMAP_H */