serial: samsung: fix casting warning
Subsystems (2)
PATCH 1/10 serial: samsung: fix casting warning
port->membase is (unsigned char __iomem *), not (unsigned long *) __set_bit() uses (unsigned long *) as the second argument. Thus, casting (unsigned long *)(unsigned long) is necessary to fix the following sparse warnings.
drivers/tty/serial/samsung.c:142:33: warning: cast removes address space of expression drivers/tty/serial/samsung.c:161:33: warning: cast removes address space of expression drivers/tty/serial/samsung.c:176:33: warning: cast removes address space of expression drivers/tty/serial/samsung.c:526:40: warning: cast removes address space of expression
Signed-off-by Jingoo Han <[email protected]>
--- drivers/tty/serial/samsung.h | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-)
drivers/tty/serial/samsung.h +2 -1
@@ -68,7 +68,8 @@ struct s3c24xx_uart_port {/* register access controls */ #define portaddr (port, reg) ((port)->membase + (reg)) -#define portaddrl (port, reg) ((unsigned long *)((port)->membase + (reg))) +#define portaddrl (port, reg) \ + ((unsigned long *)(unsigned long)((port)->membase + (reg)))#define rd_regb (port, reg) (__raw_readb(portaddr(port, reg)))#define rd_regl (port, reg) (__raw_readl(portaddr(port, reg)))
Signature · 1 line
1.7.10.4