CKSEG1ADDR() returns unsigned int value on 32bit kernel. Cast it to unsigned long to get rid of this warning: include2/asm/io.h:215:12: warning: cast adds address space to expression (<asn:2>) Signed-off-by: Atsushi Nemoto <anemo@xxxxxxxxxxxxx> --- diff --git a/include/asm-mips/io.h b/include/asm-mips/io.h index 12bcc1f..7ba9289 100644 --- a/include/asm-mips/io.h +++ b/include/asm-mips/io.h @@ -212,7 +212,8 @@ static inline void __iomem * __ioremap_mode(phys_t offset, unsigned long size, */ if (__IS_LOW512(phys_addr) && __IS_LOW512(last_addr) && flags == _CACHE_UNCACHED) - return (void __iomem *)CKSEG1ADDR(phys_addr); + return (void __iomem *) + (unsigned long)CKSEG1ADDR(phys_addr); } return __ioremap(offset, size, flags);