From 093a6c67005148ae32a5c9e4553491b9f5c2457b Mon Sep 17 00:00:00 2001
From: hc <hc@nodka.com>
Date: Fri, 10 May 2024 07:40:51 +0000
Subject: [PATCH] disable kernel build waring
---
kernel/include/linux/io-mapping.h | 28 ++++++++++++++++++----------
1 files changed, 18 insertions(+), 10 deletions(-)
diff --git a/kernel/include/linux/io-mapping.h b/kernel/include/linux/io-mapping.h
index 4bb8223..c75e4d3 100644
--- a/kernel/include/linux/io-mapping.h
+++ b/kernel/include/linux/io-mapping.h
@@ -60,20 +60,22 @@
iomap_free(mapping->base, mapping->size);
}
-/* Temporary mappings which are only valid in the current context */
+/* Atomic map/unmap */
static inline void __iomem *
-io_mapping_map_local_wc(struct io_mapping *mapping, unsigned long offset)
+io_mapping_map_atomic_wc(struct io_mapping *mapping,
+ unsigned long offset)
{
resource_size_t phys_addr;
BUG_ON(offset >= mapping->size);
phys_addr = mapping->base + offset;
- return __iomap_local_pfn_prot(PHYS_PFN(phys_addr), mapping->prot);
+ return iomap_atomic_prot_pfn(PHYS_PFN(phys_addr), mapping->prot);
}
-static inline void io_mapping_unmap_local(void __iomem *vaddr)
+static inline void
+io_mapping_unmap_atomic(void __iomem *vaddr)
{
- kunmap_local_indexed((void __force *)vaddr);
+ iounmap_atomic(vaddr);
}
static inline void __iomem *
@@ -95,7 +97,7 @@
iounmap(vaddr);
}
-#else /* HAVE_ATOMIC_IOMAP */
+#else
#include <linux/uaccess.h>
@@ -142,19 +144,25 @@
{
}
-/* Temporary mappings which are only valid in the current context */
+/* Atomic map/unmap */
static inline void __iomem *
-io_mapping_map_local_wc(struct io_mapping *mapping, unsigned long offset)
+io_mapping_map_atomic_wc(struct io_mapping *mapping,
+ unsigned long offset)
{
+ preempt_disable();
+ pagefault_disable();
return io_mapping_map_wc(mapping, offset, PAGE_SIZE);
}
-static inline void io_mapping_unmap_local(void __iomem *vaddr)
+static inline void
+io_mapping_unmap_atomic(void __iomem *vaddr)
{
io_mapping_unmap(vaddr);
+ pagefault_enable();
+ preempt_enable();
}
-#endif /* !HAVE_ATOMIC_IOMAP */
+#endif /* HAVE_ATOMIC_IOMAP */
static inline struct io_mapping *
io_mapping_create_wc(resource_size_t base,
--
Gitblit v1.6.2