While building for KUnit with default settings, the build is generating the following compilation warnings.
``` $ make ARCH=um O=.kunit --jobs=16 ../lib/iomap.c:156:5: warning: no previous prototype for ‘ioread64_lo_hi’ [-Wmissing-prototypes] 156 | u64 ioread64_lo_hi(const void __iomem *addr) | ^~~~~~~~~~~~~~ [...] ```
The warning happens because the prototypes are defined in `asm-generic/iomap.h` only when `readq` and `writeq` are defined. For UM, those function get some default definitions but are currently defined _after_ the prototypes for `ioread64*`/`iowrite64*` functions. Moving the inclusion of `asm-generic/iomap.h` fixes it.
Signed-off-by: Gabriele Monaco gmonaco@redhat.com --- include/asm-generic/io.h | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/include/asm-generic/io.h b/include/asm-generic/io.h index 80de699bf6af..0b02c8e38f20 100644 --- a/include/asm-generic/io.h +++ b/include/asm-generic/io.h @@ -13,10 +13,6 @@ #include <linux/types.h> #include <linux/instruction_pointer.h>
-#ifdef CONFIG_GENERIC_IOMAP -#include <asm-generic/iomap.h> -#endif - #include <asm/mmiowb.h> #include <asm-generic/pci_iomap.h>
@@ -295,6 +291,10 @@ static inline void writeq(u64 value, volatile void __iomem *addr) #endif #endif /* CONFIG_64BIT */
+#ifdef CONFIG_GENERIC_IOMAP +#include <asm-generic/iomap.h> +#endif + /* * {read,write}{b,w,l,q}_relaxed() are like the regular version, but * are not guaranteed to provide ordering against spinlocks or memory
base-commit: 67784a74e258a467225f0e68335df77acd67b7ab