Thread (23 messages) 23 messages, 7 authors, 2024-10-08

Re: [PATCH v8 01/14] Consolidate IO memcpy/memset into iomap_copy.c

From: "Arnd Bergmann" <arnd@arndb.de>
Date: 2024-10-08 09:27:55
Also in: linux-alpha, linux-arch, linux-arm-msm, linux-m68k, linux-s390, linux-sh, linux-sound, linux-um, lkml, loongarch

On Tue, Oct 8, 2024, at 07:50, Julian Vetter wrote:
quoted hunk ↗ jump to hunk
diff --git a/include/asm-generic/io.h b/include/asm-generic/io.h
index 80de699bf6af..f14655ed4d9d 100644
--- a/include/asm-generic/io.h
+++ b/include/asm-generic/io.h
@@ -102,6 +102,12 @@ static inline void log_post_read_mmio(u64 val, u8 
width, const volatile void __i

 #endif /* CONFIG_TRACE_MMIO_ACCESS */

+extern void memcpy_fromio(void *to, const volatile void __iomem *from,
+			  size_t count);
+extern void memcpy_toio(volatile void __iomem *to, const void *from,
+			size_t count);
+extern void memset_io(volatile void __iomem *dst, int c, size_t count);
+
I think having this globally visible is the reason you are running
into the mismatched prototypes. The patches to change the architecture
specific implementations are all good, but I would instead add
#ifdef checks around the prototypes the same way you do for the
implementation, to make the series bisectible and shorter.

 include/asm-generic/io.h |  58 ++----------------
 lib/iomap_copy.c         | 127 +++++++++++++++++++++++++++++++++++++++

Along the same lines, I would change lib/Makefile to build
this file unconditionally even on architectures that don't
set CONFIG_HAS_IOMEM. Again, strengthening the driver dependencies
is good, but it feels like a distraction here when we just need the
common implementation to be available.

       Arnd
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help