diff options
author | Heiko Carstens <heiko.carstens@de.ibm.com> | 2013-01-07 14:17:23 +0100 |
---|---|---|
committer | Martin Schwidefsky <schwidefsky@de.ibm.com> | 2013-02-14 15:55:00 +0100 |
commit | 7292e7e01cc98fa04a9a3eb7ca11d1bca99c35e9 (patch) | |
tree | ae71ffdf66ab42c176aba2cacbf019d5a17a0e4f | |
parent | 323a72d83c9b2963bd1e46c8e6963e468d4658d7 (diff) | |
download | lwn-7292e7e01cc98fa04a9a3eb7ca11d1bca99c35e9.tar.gz lwn-7292e7e01cc98fa04a9a3eb7ca11d1bca99c35e9.zip |
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: Heiko Carstens <heiko.carstens@de.ibm.com>
Acked-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
-rw-r--r-- | include/asm-generic/io.h | 20 |
1 files changed, 17 insertions, 3 deletions
diff --git a/include/asm-generic/io.h b/include/asm-generic/io.h index 33bbbae4ddc6..8e260cf01351 100644 --- a/include/asm-generic/io.h +++ b/include/asm-generic/io.h @@ -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) |