Skip to content

Commit

Permalink
asm-generic/io.h: convert readX defines to functions
Browse files Browse the repository at this point in the history
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>
  • Loading branch information
Heiko Carstens authored and Martin Schwidefsky committed Feb 14, 2013
1 parent 323a72d commit 7292e7e
Showing 1 changed file with 17 additions and 3 deletions.
20 changes: 17 additions & 3 deletions include/asm-generic/io.h
Original file line number Diff line number Diff line change
Expand Up @@ -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)
Expand Down Expand Up @@ -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)
Expand Down

0 comments on commit 7292e7e

Please sign in to comment.