All other architectures use 'unsigned int' as the data in readl/write, but m32r uses 'unsigned long', leading to lots of harmless build warnings like: drivers/mmc/host/dw_mmc.c: In function 'dw_mci_regs_show': drivers/mmc/host/dw_mmc.c:168:31: warning: format '%x' expects argument of type 'unsigned int', but argument 3 has type 'long unsigned int' [-Wformat=] seq_printf(s, "STATUS:\t0x%08x\n", mci_readl(host, STATUS)); Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> --- arch/m32r/include/asm/io.h | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/arch/m32r/include/asm/io.h b/arch/m32r/include/asm/io.h index 1b653bb16f9a..093486b5b931 100644 --- a/arch/m32r/include/asm/io.h +++ b/arch/m32r/include/asm/io.h @@ -108,9 +108,9 @@ static inline unsigned short _readw(unsigned long addr) return *(volatile unsigned short __force *)addr; } -static inline unsigned long _readl(unsigned long addr) +static inline unsigned int _readl(unsigned long addr) { - return *(volatile unsigned long __force *)addr; + return *(volatile unsigned int __force *)addr; } static inline void _writeb(unsigned char b, unsigned long addr) @@ -123,9 +123,9 @@ static inline void _writew(unsigned short w, unsigned long addr) *(volatile unsigned short __force *)addr = w; } -static inline void _writel(unsigned long l, unsigned long addr) +static inline void _writel(unsigned long l, unsigned int addr) { - *(volatile unsigned long __force *)addr = l; + *(volatile unsigned int __force *)addr = l; } #define inb _inb -- 2.9.0