ARM: s3c24xx: Avoid warning for inb/outb
authorArnd Bergmann <arnd@arndb.de>
Thu, 25 Feb 2016 22:04:50 +0000 (23:04 +0100)
committerKrzysztof Kozlowski <k.kozlowski@samsung.com>
Thu, 25 Feb 2016 23:44:52 +0000 (08:44 +0900)
s3c24xx implements its own inb/outb macros, but the implementation
prints warnings when the port number argument is not a 32-bit scalar:

drivers/scsi/pas16.c: In function 'NCR5380_pwrite':
arch/arm/mach-s3c24xx/include/mach/io.h:193:68: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
 #define __ioaddrc(port) ((__PORT_PCIO(port) ? PCIO_BASE + (port) : (void __iomem *)(port)))

This slightly modifies the definition of the __ioaddrc macro to avoid
the warning.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
arch/arm/mach-s3c24xx/include/mach/io.h

index 5dd1db4e267724275d90913d74246d6da122d2bc..235c53647aa49929d13779ca4c8320be75085eef 100644 (file)
@@ -190,7 +190,7 @@ DECLARE_IO(int,l,"")
        result;                                                         \
 })
 
-#define __ioaddrc(port)        ((__PORT_PCIO(port) ? PCIO_BASE + (port) : (void __iomem *)(port)))
+#define __ioaddrc(port)        ((__PORT_PCIO(port) ? PCIO_BASE + (port) : (void __iomem *)0 + (port)))
 
 #define inb(p)         (__builtin_constant_p((p)) ? __inbc(p)     : __inb(p))
 #define inw(p)         (__builtin_constant_p((p)) ? __inwc(p)     : __inw(p))