linux-next: manual merge of the char-misc tree with the asm-generic tree

From: Stephen Rothwell
Date: Mon Feb 18 2019 - 23:34:14 EST


Hi all,

Today's linux-next merge of the char-misc tree got a conflict in:

include/asm-generic/iomap.h

between commit:

e377ce8bcba0 ("iomap: add missing function args identifier names")

from the asm-generic tree and commit:

79bf0cbd86ac ("iomap: introduce io{read|write}64_{lo_hi|hi_lo}")

from the char-misc tree.

I fixed it up (see below - though I guess the new ioread... prototypes
introduced by the char-misc tree may want "const" added to their
arguments) and can carry the fix as necessary. This is now fixed as far
as linux-next is concerned, but any non trivial conflicts should be
mentioned to your upstream maintainer when your tree is submitted for
merging. You may also want to consider cooperating with the maintainer
of the conflicting tree to minimise any particularly complex conflicts.

--
Cheers,
Stephen Rothwell

diff --cc include/asm-generic/iomap.h
index cd92d32a4d87,a008f504a2d0..000000000000
--- a/include/asm-generic/iomap.h
+++ b/include/asm-generic/iomap.h
@@@ -26,26 -26,48 +26,48 @@@
* in the low address range. Architectures for which this is not
* true can't use this generic implementation.
*/
-extern unsigned int ioread8(void __iomem *);
-extern unsigned int ioread16(void __iomem *);
-extern unsigned int ioread16be(void __iomem *);
-extern unsigned int ioread32(void __iomem *);
-extern unsigned int ioread32be(void __iomem *);
+extern unsigned int ioread8(const void __iomem *addr);
+extern unsigned int ioread16(const void __iomem *addr);
+extern unsigned int ioread16be(const void __iomem *addr);
+extern unsigned int ioread32(const void __iomem *addr);
+extern unsigned int ioread32be(const void __iomem *addr);
#ifdef CONFIG_64BIT
-extern u64 ioread64(void __iomem *);
-extern u64 ioread64be(void __iomem *);
+extern u64 ioread64(const void __iomem *addr);
+extern u64 ioread64be(const void __iomem *addr);
#endif

+ #ifdef readq
+ #define ioread64_lo_hi ioread64_lo_hi
+ #define ioread64_hi_lo ioread64_hi_lo
+ #define ioread64be_lo_hi ioread64be_lo_hi
+ #define ioread64be_hi_lo ioread64be_hi_lo
+ extern u64 ioread64_lo_hi(void __iomem *addr);
+ extern u64 ioread64_hi_lo(void __iomem *addr);
+ extern u64 ioread64be_lo_hi(void __iomem *addr);
+ extern u64 ioread64be_hi_lo(void __iomem *addr);
+ #endif
+
-extern void iowrite8(u8, void __iomem *);
-extern void iowrite16(u16, void __iomem *);
-extern void iowrite16be(u16, void __iomem *);
-extern void iowrite32(u32, void __iomem *);
-extern void iowrite32be(u32, void __iomem *);
+extern void iowrite8(u8 value, void __iomem *addr);
+extern void iowrite16(u16 value, void __iomem *addr);
+extern void iowrite16be(u16 value, void __iomem *addr);
+extern void iowrite32(u32 value, void __iomem *addr);
+extern void iowrite32be(u32 value, void __iomem *addr);
#ifdef CONFIG_64BIT
-extern void iowrite64(u64, void __iomem *);
-extern void iowrite64be(u64, void __iomem *);
+extern void iowrite64(u64 value, void __iomem *addr);
+extern void iowrite64be(u64 value, void __iomem *addr);
#endif

+ #ifdef writeq
+ #define iowrite64_lo_hi iowrite64_lo_hi
+ #define iowrite64_hi_lo iowrite64_hi_lo
+ #define iowrite64be_lo_hi iowrite64be_lo_hi
+ #define iowrite64be_hi_lo iowrite64be_hi_lo
+ extern void iowrite64_lo_hi(u64 val, void __iomem *addr);
+ extern void iowrite64_hi_lo(u64 val, void __iomem *addr);
+ extern void iowrite64be_lo_hi(u64 val, void __iomem *addr);
+ extern void iowrite64be_hi_lo(u64 val, void __iomem *addr);
+ #endif
+
/*
* "string" versions of the above. Note that they
* use native byte ordering for the accesses (on

Attachment: pgptdZtxYaQPb.pgp
Description: OpenPGP digital signature