* [PATCH v2 1/8] asm-generic/io.h: allow barriers in io{read,write}{16,32}be [not found] <1462462435-27403-1-git-send-email-horia.geanta@nxp.com> @ 2016-05-05 15:35 ` Horia Geantă 2016-05-05 15:35 ` Horia Geantă 2016-05-05 16:29 ` Arnd Bergmann 2016-05-05 15:35 ` [PATCH v2 2/8] asm-generic/io.h: add io{read,write}64 accessors Horia Geantă 1 sibling, 2 replies; 10+ messages in thread From: Horia Geantă @ 2016-05-05 15:35 UTC (permalink / raw) To: Arnd Bergmann; +Cc: linux-arch, linux-kernel While reviewing the addition of io{read,write}64be accessors, Arnd -finds a potential problem: "If an architecture overrides readq/writeq to have barriers but does not override ioread64be/iowrite64be, this will lack the barriers and behave differently from the little-endian version. I think the only affected architecture is ARC, since ARM and ARM64 both override the big-endian accessors to have the correct barriers, and all others don't use barriers at all." -suggests a fix for the same problem in existing code (16/32-bit accessors); the fix leads "to a double-swap on architectures that don't override the io{read,write}{16,32}be accessors, but it will work correctly on all architectures without them having to override these accessors." Suggested-by: Arnd Bergmann <arnd@arndb.de> Signed-off-by: Horia Geantă <horia.geanta@nxp.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 eed3bbe88c8a..b79fb2c248a1 100644 --- a/include/asm-generic/io.h +++ b/include/asm-generic/io.h @@ -613,7 +613,7 @@ static inline void iowrite32(u32 value, volatile void __iomem *addr) #define ioread16be ioread16be static inline u16 ioread16be(const volatile void __iomem *addr) { - return __be16_to_cpu(__raw_readw(addr)); + return swab16(readw(addr)); } #endif @@ -621,7 +621,7 @@ static inline u16 ioread16be(const volatile void __iomem *addr) #define ioread32be ioread32be static inline u32 ioread32be(const volatile void __iomem *addr) { - return __be32_to_cpu(__raw_readl(addr)); + return swab32(readl(addr)); } #endif @@ -629,7 +629,7 @@ static inline u32 ioread32be(const volatile void __iomem *addr) #define iowrite16be iowrite16be static inline void iowrite16be(u16 value, void volatile __iomem *addr) { - __raw_writew(__cpu_to_be16(value), addr); + writew(swab16(value), addr); } #endif @@ -637,7 +637,7 @@ static inline void iowrite16be(u16 value, void volatile __iomem *addr) #define iowrite32be iowrite32be static inline void iowrite32be(u32 value, volatile void __iomem *addr) { - __raw_writel(__cpu_to_be32(value), addr); + writel(swab32(value), addr); } #endif -- 2.4.4 ^ permalink raw reply related [flat|nested] 10+ messages in thread
* [PATCH v2 1/8] asm-generic/io.h: allow barriers in io{read,write}{16,32}be 2016-05-05 15:35 ` [PATCH v2 1/8] asm-generic/io.h: allow barriers in io{read,write}{16,32}be Horia Geantă @ 2016-05-05 15:35 ` Horia Geantă 2016-05-05 16:29 ` Arnd Bergmann 1 sibling, 0 replies; 10+ messages in thread From: Horia Geantă @ 2016-05-05 15:35 UTC (permalink / raw) To: Arnd Bergmann; +Cc: linux-arch, linux-kernel While reviewing the addition of io{read,write}64be accessors, Arnd -finds a potential problem: "If an architecture overrides readq/writeq to have barriers but does not override ioread64be/iowrite64be, this will lack the barriers and behave differently from the little-endian version. I think the only affected architecture is ARC, since ARM and ARM64 both override the big-endian accessors to have the correct barriers, and all others don't use barriers at all." -suggests a fix for the same problem in existing code (16/32-bit accessors); the fix leads "to a double-swap on architectures that don't override the io{read,write}{16,32}be accessors, but it will work correctly on all architectures without them having to override these accessors." Suggested-by: Arnd Bergmann <arnd@arndb.de> Signed-off-by: Horia Geantă <horia.geanta@nxp.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 eed3bbe88c8a..b79fb2c248a1 100644 --- a/include/asm-generic/io.h +++ b/include/asm-generic/io.h @@ -613,7 +613,7 @@ static inline void iowrite32(u32 value, volatile void __iomem *addr) #define ioread16be ioread16be static inline u16 ioread16be(const volatile void __iomem *addr) { - return __be16_to_cpu(__raw_readw(addr)); + return swab16(readw(addr)); } #endif @@ -621,7 +621,7 @@ static inline u16 ioread16be(const volatile void __iomem *addr) #define ioread32be ioread32be static inline u32 ioread32be(const volatile void __iomem *addr) { - return __be32_to_cpu(__raw_readl(addr)); + return swab32(readl(addr)); } #endif @@ -629,7 +629,7 @@ static inline u32 ioread32be(const volatile void __iomem *addr) #define iowrite16be iowrite16be static inline void iowrite16be(u16 value, void volatile __iomem *addr) { - __raw_writew(__cpu_to_be16(value), addr); + writew(swab16(value), addr); } #endif @@ -637,7 +637,7 @@ static inline void iowrite16be(u16 value, void volatile __iomem *addr) #define iowrite32be iowrite32be static inline void iowrite32be(u32 value, volatile void __iomem *addr) { - __raw_writel(__cpu_to_be32(value), addr); + writel(swab32(value), addr); } #endif -- 2.4.4 ^ permalink raw reply related [flat|nested] 10+ messages in thread
* Re: [PATCH v2 1/8] asm-generic/io.h: allow barriers in io{read,write}{16,32}be 2016-05-05 15:35 ` [PATCH v2 1/8] asm-generic/io.h: allow barriers in io{read,write}{16,32}be Horia Geantă 2016-05-05 15:35 ` Horia Geantă @ 2016-05-05 16:29 ` Arnd Bergmann 1 sibling, 0 replies; 10+ messages in thread From: Arnd Bergmann @ 2016-05-05 16:29 UTC (permalink / raw) To: Horia Geantă; +Cc: linux-arch, linux-kernel On Thursday 05 May 2016 18:35:45 Horia Geantă wrote: > While reviewing the addition of io{read,write}64be accessors, Arnd > > -finds a potential problem: > "If an architecture overrides readq/writeq to have barriers but does > not override ioread64be/iowrite64be, this will lack the barriers and > behave differently from the little-endian version. I think the only > affected architecture is ARC, since ARM and ARM64 both override the > big-endian accessors to have the correct barriers, and all others > don't use barriers at all." > > -suggests a fix for the same problem in existing code (16/32-bit > accessors); the fix leads "to a double-swap on architectures that > don't override the io{read,write}{16,32}be accessors, but it will > work correctly on all architectures without them having to override > these accessors." > > Suggested-by: Arnd Bergmann <arnd@arndb.de> > Signed-off-by: Horia Geantă <horia.geanta@nxp.com> > --- Acked-by: Arnd Bergmann <arnd@arndb.de> ^ permalink raw reply [flat|nested] 10+ messages in thread
* [PATCH v2 2/8] asm-generic/io.h: add io{read,write}64 accessors [not found] <1462462435-27403-1-git-send-email-horia.geanta@nxp.com> 2016-05-05 15:35 ` [PATCH v2 1/8] asm-generic/io.h: allow barriers in io{read,write}{16,32}be Horia Geantă @ 2016-05-05 15:35 ` Horia Geantă 2016-05-05 15:35 ` Horia Geantă ` (2 more replies) 1 sibling, 3 replies; 10+ messages in thread From: Horia Geantă @ 2016-05-05 15:35 UTC (permalink / raw) To: Herbert Xu, Arnd Bergmann Cc: linux-crypto, linux-arch, linux-kernel, David S. Miller, Scott Wood, Alexandru Porosanu, Tudor Ambarus, Cristian Stoica This will allow device drivers to consistently use io{read,write}XX also for 64-bit accesses. Signed-off-by: Horia Geantă <horia.geanta@nxp.com> --- include/asm-generic/io.h | 63 +++++++++++++++++++++++++++++++++++++++++++++ include/asm-generic/iomap.h | 8 ++++++ 2 files changed, 71 insertions(+) diff --git a/include/asm-generic/io.h b/include/asm-generic/io.h index b79fb2c248a1..2af6ea95762d 100644 --- a/include/asm-generic/io.h +++ b/include/asm-generic/io.h @@ -585,6 +585,16 @@ static inline u32 ioread32(const volatile void __iomem *addr) } #endif +#ifdef CONFIG_64BIT +#ifndef ioread64 +#define ioread64 ioread64 +static inline u64 ioread64(const volatile void __iomem *addr) +{ + return readq(addr); +} +#endif +#endif /* CONFIG_64BIT */ + #ifndef iowrite8 #define iowrite8 iowrite8 static inline void iowrite8(u8 value, volatile void __iomem *addr) @@ -609,6 +619,16 @@ static inline void iowrite32(u32 value, volatile void __iomem *addr) } #endif +#ifdef CONFIG_64BIT +#ifndef iowrite64 +#define iowrite64 iowrite64 +static inline void iowrite64(u64 value, volatile void __iomem *addr) +{ + writeq(value, addr); +} +#endif +#endif /* CONFIG_64BIT */ + #ifndef ioread16be #define ioread16be ioread16be static inline u16 ioread16be(const volatile void __iomem *addr) @@ -625,6 +645,16 @@ static inline u32 ioread32be(const volatile void __iomem *addr) } #endif +#ifdef CONFIG_64BIT +#ifndef ioread64be +#define ioread64be ioread64be +static inline u64 ioread64be(const volatile void __iomem *addr) +{ + return swab64(readq(addr)); +} +#endif +#endif /* CONFIG_64BIT */ + #ifndef iowrite16be #define iowrite16be iowrite16be static inline void iowrite16be(u16 value, void volatile __iomem *addr) @@ -641,6 +671,16 @@ static inline void iowrite32be(u32 value, volatile void __iomem *addr) } #endif +#ifdef CONFIG_64BIT +#ifndef iowrite64be +#define iowrite64be iowrite64be +static inline void iowrite64be(u64 value, volatile void __iomem *addr) +{ + writeq(swab64(value), addr); +} +#endif +#endif /* CONFIG_64BIT */ + #ifndef ioread8_rep #define ioread8_rep ioread8_rep static inline void ioread8_rep(const volatile void __iomem *addr, void *buffer, @@ -668,6 +708,17 @@ static inline void ioread32_rep(const volatile void __iomem *addr, } #endif +#ifdef CONFIG_64BIT +#ifndef ioread64_rep +#define ioread64_rep ioread64_rep +static inline void ioread64_rep(const volatile void __iomem *addr, + void *buffer, unsigned int count) +{ + readsq(addr, buffer, count); +} +#endif +#endif /* CONFIG_64BIT */ + #ifndef iowrite8_rep #define iowrite8_rep iowrite8_rep static inline void iowrite8_rep(volatile void __iomem *addr, @@ -697,6 +748,18 @@ static inline void iowrite32_rep(volatile void __iomem *addr, writesl(addr, buffer, count); } #endif + +#ifdef CONFIG_64BIT +#ifndef iowrite64_rep +#define iowrite64_rep iowrite64_rep +static inline void iowrite64_rep(volatile void __iomem *addr, + const void *buffer, + unsigned int count) +{ + writesq(addr, buffer, count); +} +#endif +#endif /* CONFIG_64BIT */ #endif /* CONFIG_GENERIC_IOMAP */ #ifdef __KERNEL__ diff --git a/include/asm-generic/iomap.h b/include/asm-generic/iomap.h index d8f8622fa044..650fede33c25 100644 --- a/include/asm-generic/iomap.h +++ b/include/asm-generic/iomap.h @@ -30,12 +30,20 @@ extern unsigned int ioread16(void __iomem *); extern unsigned int ioread16be(void __iomem *); extern unsigned int ioread32(void __iomem *); extern unsigned int ioread32be(void __iomem *); +#ifdef CONFIG_64BIT +extern u64 ioread64(void __iomem *); +extern u64 ioread64be(void __iomem *); +#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 *); +#ifdef CONFIG_64BIT +extern void iowrite64(u64, void __iomem *); +extern void iowrite64be(u64, void __iomem *); +#endif /* * "string" versions of the above. Note that they -- 2.4.4 ^ permalink raw reply related [flat|nested] 10+ messages in thread
* [PATCH v2 2/8] asm-generic/io.h: add io{read,write}64 accessors 2016-05-05 15:35 ` [PATCH v2 2/8] asm-generic/io.h: add io{read,write}64 accessors Horia Geantă @ 2016-05-05 15:35 ` Horia Geantă 2016-05-05 16:29 ` Arnd Bergmann 2016-05-10 9:33 ` Herbert Xu 2 siblings, 0 replies; 10+ messages in thread From: Horia Geantă @ 2016-05-05 15:35 UTC (permalink / raw) To: Herbert Xu, Arnd Bergmann Cc: linux-crypto, linux-arch, linux-kernel, David S. Miller, Scott Wood, Alexandru Porosanu, Tudor Ambarus, Cristian Stoica This will allow device drivers to consistently use io{read,write}XX also for 64-bit accesses. Signed-off-by: Horia Geantă <horia.geanta@nxp.com> --- include/asm-generic/io.h | 63 +++++++++++++++++++++++++++++++++++++++++++++ include/asm-generic/iomap.h | 8 ++++++ 2 files changed, 71 insertions(+) diff --git a/include/asm-generic/io.h b/include/asm-generic/io.h index b79fb2c248a1..2af6ea95762d 100644 --- a/include/asm-generic/io.h +++ b/include/asm-generic/io.h @@ -585,6 +585,16 @@ static inline u32 ioread32(const volatile void __iomem *addr) } #endif +#ifdef CONFIG_64BIT +#ifndef ioread64 +#define ioread64 ioread64 +static inline u64 ioread64(const volatile void __iomem *addr) +{ + return readq(addr); +} +#endif +#endif /* CONFIG_64BIT */ + #ifndef iowrite8 #define iowrite8 iowrite8 static inline void iowrite8(u8 value, volatile void __iomem *addr) @@ -609,6 +619,16 @@ static inline void iowrite32(u32 value, volatile void __iomem *addr) } #endif +#ifdef CONFIG_64BIT +#ifndef iowrite64 +#define iowrite64 iowrite64 +static inline void iowrite64(u64 value, volatile void __iomem *addr) +{ + writeq(value, addr); +} +#endif +#endif /* CONFIG_64BIT */ + #ifndef ioread16be #define ioread16be ioread16be static inline u16 ioread16be(const volatile void __iomem *addr) @@ -625,6 +645,16 @@ static inline u32 ioread32be(const volatile void __iomem *addr) } #endif +#ifdef CONFIG_64BIT +#ifndef ioread64be +#define ioread64be ioread64be +static inline u64 ioread64be(const volatile void __iomem *addr) +{ + return swab64(readq(addr)); +} +#endif +#endif /* CONFIG_64BIT */ + #ifndef iowrite16be #define iowrite16be iowrite16be static inline void iowrite16be(u16 value, void volatile __iomem *addr) @@ -641,6 +671,16 @@ static inline void iowrite32be(u32 value, volatile void __iomem *addr) } #endif +#ifdef CONFIG_64BIT +#ifndef iowrite64be +#define iowrite64be iowrite64be +static inline void iowrite64be(u64 value, volatile void __iomem *addr) +{ + writeq(swab64(value), addr); +} +#endif +#endif /* CONFIG_64BIT */ + #ifndef ioread8_rep #define ioread8_rep ioread8_rep static inline void ioread8_rep(const volatile void __iomem *addr, void *buffer, @@ -668,6 +708,17 @@ static inline void ioread32_rep(const volatile void __iomem *addr, } #endif +#ifdef CONFIG_64BIT +#ifndef ioread64_rep +#define ioread64_rep ioread64_rep +static inline void ioread64_rep(const volatile void __iomem *addr, + void *buffer, unsigned int count) +{ + readsq(addr, buffer, count); +} +#endif +#endif /* CONFIG_64BIT */ + #ifndef iowrite8_rep #define iowrite8_rep iowrite8_rep static inline void iowrite8_rep(volatile void __iomem *addr, @@ -697,6 +748,18 @@ static inline void iowrite32_rep(volatile void __iomem *addr, writesl(addr, buffer, count); } #endif + +#ifdef CONFIG_64BIT +#ifndef iowrite64_rep +#define iowrite64_rep iowrite64_rep +static inline void iowrite64_rep(volatile void __iomem *addr, + const void *buffer, + unsigned int count) +{ + writesq(addr, buffer, count); +} +#endif +#endif /* CONFIG_64BIT */ #endif /* CONFIG_GENERIC_IOMAP */ #ifdef __KERNEL__ diff --git a/include/asm-generic/iomap.h b/include/asm-generic/iomap.h index d8f8622fa044..650fede33c25 100644 --- a/include/asm-generic/iomap.h +++ b/include/asm-generic/iomap.h @@ -30,12 +30,20 @@ extern unsigned int ioread16(void __iomem *); extern unsigned int ioread16be(void __iomem *); extern unsigned int ioread32(void __iomem *); extern unsigned int ioread32be(void __iomem *); +#ifdef CONFIG_64BIT +extern u64 ioread64(void __iomem *); +extern u64 ioread64be(void __iomem *); +#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 *); +#ifdef CONFIG_64BIT +extern void iowrite64(u64, void __iomem *); +extern void iowrite64be(u64, void __iomem *); +#endif /* * "string" versions of the above. Note that they -- 2.4.4 ^ permalink raw reply related [flat|nested] 10+ messages in thread
* Re: [PATCH v2 2/8] asm-generic/io.h: add io{read,write}64 accessors 2016-05-05 15:35 ` [PATCH v2 2/8] asm-generic/io.h: add io{read,write}64 accessors Horia Geantă 2016-05-05 15:35 ` Horia Geantă @ 2016-05-05 16:29 ` Arnd Bergmann 2016-05-05 16:29 ` Arnd Bergmann 2016-05-10 9:33 ` Herbert Xu 2 siblings, 1 reply; 10+ messages in thread From: Arnd Bergmann @ 2016-05-05 16:29 UTC (permalink / raw) To: Horia Geantă Cc: Herbert Xu, linux-crypto, linux-arch, linux-kernel, David S. Miller, Scott Wood, Alexandru Porosanu, Tudor Ambarus, Cristian Stoica On Thursday 05 May 2016 18:35:56 Horia Geantă wrote: > This will allow device drivers to consistently use io{read,write}XX > also for 64-bit accesses. > > Signed-off-by: Horia Geantă <horia.geanta@nxp.com> > Acked-by: Arnd Bergmann <arnd@arndb.de> ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH v2 2/8] asm-generic/io.h: add io{read,write}64 accessors 2016-05-05 16:29 ` Arnd Bergmann @ 2016-05-05 16:29 ` Arnd Bergmann 0 siblings, 0 replies; 10+ messages in thread From: Arnd Bergmann @ 2016-05-05 16:29 UTC (permalink / raw) To: Horia Geantă Cc: Herbert Xu, linux-crypto, linux-arch, linux-kernel, David S. Miller, Scott Wood, Alexandru Porosanu, Tudor Ambarus, Cristian Stoica On Thursday 05 May 2016 18:35:56 Horia Geantă wrote: > This will allow device drivers to consistently use io{read,write}XX > also for 64-bit accesses. > > Signed-off-by: Horia Geantă <horia.geanta@nxp.com> > Acked-by: Arnd Bergmann <arnd@arndb.de> ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH v2 2/8] asm-generic/io.h: add io{read,write}64 accessors 2016-05-05 15:35 ` [PATCH v2 2/8] asm-generic/io.h: add io{read,write}64 accessors Horia Geantă 2016-05-05 15:35 ` Horia Geantă 2016-05-05 16:29 ` Arnd Bergmann @ 2016-05-10 9:33 ` Herbert Xu 2016-05-10 9:33 ` Herbert Xu 2016-05-10 9:34 ` Herbert Xu 2 siblings, 2 replies; 10+ messages in thread From: Herbert Xu @ 2016-05-10 9:33 UTC (permalink / raw) To: Horia Geantă Cc: Arnd Bergmann, linux-crypto, linux-arch, linux-kernel, David S. Miller, Scott Wood, Alexandru Porosanu, Tudor Ambarus, Cristian Stoica On Thu, May 05, 2016 at 06:35:56PM +0300, Horia Geantă wrote: > This will allow device drivers to consistently use io{read,write}XX > also for 64-bit accesses. > > Signed-off-by: Horia Geantă <horia.geanta@nxp.com> I don't see patch 1/8. Cheers, -- Email: Herbert Xu <herbert@gondor.apana.org.au> Home Page: http://gondor.apana.org.au/~herbert/ PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH v2 2/8] asm-generic/io.h: add io{read,write}64 accessors 2016-05-10 9:33 ` Herbert Xu @ 2016-05-10 9:33 ` Herbert Xu 2016-05-10 9:34 ` Herbert Xu 1 sibling, 0 replies; 10+ messages in thread From: Herbert Xu @ 2016-05-10 9:33 UTC (permalink / raw) To: Horia Geantă Cc: Arnd Bergmann, linux-crypto, linux-arch, linux-kernel, David S. Miller, Scott Wood, Alexandru Porosanu, Tudor Ambarus, Cristian Stoica On Thu, May 05, 2016 at 06:35:56PM +0300, Horia Geantă wrote: > This will allow device drivers to consistently use io{read,write}XX > also for 64-bit accesses. > > Signed-off-by: Horia Geantă <horia.geanta@nxp.com> I don't see patch 1/8. Cheers, -- Email: Herbert Xu <herbert@gondor.apana.org.au> Home Page: http://gondor.apana.org.au/~herbert/ PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH v2 2/8] asm-generic/io.h: add io{read,write}64 accessors 2016-05-10 9:33 ` Herbert Xu 2016-05-10 9:33 ` Herbert Xu @ 2016-05-10 9:34 ` Herbert Xu 1 sibling, 0 replies; 10+ messages in thread From: Herbert Xu @ 2016-05-10 9:34 UTC (permalink / raw) To: Horia Geantă Cc: Arnd Bergmann, linux-crypto, linux-arch, linux-kernel, David S. Miller, Scott Wood, Alexandru Porosanu, Tudor Ambarus, Cristian Stoica On Tue, May 10, 2016 at 05:33:21PM +0800, Herbert Xu wrote: > On Thu, May 05, 2016 at 06:35:56PM +0300, Horia Geantă wrote: > > This will allow device drivers to consistently use io{read,write}XX > > also for 64-bit accesses. > > > > Signed-off-by: Horia Geantă <horia.geanta@nxp.com> > > I don't see patch 1/8. Never mind, I've found it now. Cheers, -- Email: Herbert Xu <herbert@gondor.apana.org.au> Home Page: http://gondor.apana.org.au/~herbert/ PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt ^ permalink raw reply [flat|nested] 10+ messages in thread
end of thread, other threads:[~2016-05-10 9:34 UTC | newest]
Thread overview: 10+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
[not found] <1462462435-27403-1-git-send-email-horia.geanta@nxp.com>
2016-05-05 15:35 ` [PATCH v2 1/8] asm-generic/io.h: allow barriers in io{read,write}{16,32}be Horia Geantă
2016-05-05 15:35 ` Horia Geantă
2016-05-05 16:29 ` Arnd Bergmann
2016-05-05 15:35 ` [PATCH v2 2/8] asm-generic/io.h: add io{read,write}64 accessors Horia Geantă
2016-05-05 15:35 ` Horia Geantă
2016-05-05 16:29 ` Arnd Bergmann
2016-05-05 16:29 ` Arnd Bergmann
2016-05-10 9:33 ` Herbert Xu
2016-05-10 9:33 ` Herbert Xu
2016-05-10 9:34 ` Herbert Xu
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox