提交 7292e7e0 编写于 作者: H Heiko Carstens 提交者: Martin Schwidefsky

asm-generic/io.h: convert readX defines to functions

E.g. readl is defined like this

 #define readl(addr) __le32_to_cpu(__raw_readl(addr))

If a there is a readl() call that doesn't check the return value
this will cause a compile warning on big endian machines due to
the __le32_to_cpu macro magic.

E.g. code like this:

	readl(addr);

will generate the following compile warning:

warning: value computed is not used [-Wunused-value]

With this patch we get rid of dozens of compile warnings on s390.
Signed-off-by: NHeiko Carstens <heiko.carstens@de.ibm.com>
Acked-by: NArnd Bergmann <arnd@arndb.de>
Signed-off-by: NMartin Schwidefsky <schwidefsky@de.ibm.com>
上级 323a72d8
......@@ -53,8 +53,18 @@ static inline u32 __raw_readl(const volatile void __iomem *addr)
#endif
#define readb __raw_readb
#define readw(addr) __le16_to_cpu(__raw_readw(addr))
#define readl(addr) __le32_to_cpu(__raw_readl(addr))
#define readw readw
static inline u16 readw(const volatile void __iomem *addr)
{
return __le16_to_cpu(__raw_readw(addr));
}
#define readl readl
static inline u32 readl(const volatile void __iomem *addr)
{
return __le32_to_cpu(__raw_readl(addr));
}
#ifndef __raw_writeb
static inline void __raw_writeb(u8 b, volatile void __iomem *addr)
......@@ -89,7 +99,11 @@ static inline u64 __raw_readq(const volatile void __iomem *addr)
}
#endif
#define readq(addr) __le64_to_cpu(__raw_readq(addr))
#define readq readq
static inline u64 readq(const volatile void __iomem *addr)
{
return __le64_to_cpu(__raw_readq(addr));
}
#ifndef __raw_writeq
static inline void __raw_writeq(u64 b, volatile void __iomem *addr)
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册