diff options
author | Simon Glass <sjg@chromium.org> | 2015-02-28 05:06:26 (GMT) |
---|---|---|
committer | Simon Glass <sjg@chromium.org> | 2015-04-23 02:03:48 (GMT) |
commit | 363e6da10313edb9ab7bffd8ee9000f72af11290 (patch) | |
tree | 5459abf42069faa05ff32fdf64eb8390fa2ae86d | |
parent | dd0b0122bacc286a6c9321178fcdd947a8bbf0a8 (diff) | |
download | u-boot-363e6da10313edb9ab7bffd8ee9000f72af11290.tar.xz |
dm: ns16550: Support non-byte register spacing with driver model
Allow this driver to support boards where the register shift is not 0.
This fixes some compiler warnings which appear in that case.
Signed-off-by: Simon Glass <sjg@chromium.org>
-rw-r--r-- | drivers/serial/ns16550.c | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/drivers/serial/ns16550.c b/drivers/serial/ns16550.c index 362f2ee..6131299 100644 --- a/drivers/serial/ns16550.c +++ b/drivers/serial/ns16550.c @@ -57,7 +57,7 @@ DECLARE_GLOBAL_DATA_PTR; #ifdef CONFIG_DM_SERIAL -static inline void serial_out_shift(unsigned char *addr, int shift, int value) +static inline void serial_out_shift(void *addr, int shift, int value) { #ifdef CONFIG_SYS_NS16550_PORT_MAPPED outb(value, (ulong)addr); @@ -72,7 +72,7 @@ static inline void serial_out_shift(unsigned char *addr, int shift, int value) #endif } -static inline int serial_in_shift(unsigned char *addr, int shift) +static inline int serial_in_shift(void *addr, int shift) { #ifdef CONFIG_SYS_NS16550_PORT_MAPPED return inb((ulong)addr); @@ -114,9 +114,11 @@ static int ns16550_readb(NS16550_t port, int offset) /* We can clean these up once everything is moved to driver model */ #define serial_out(value, addr) \ - ns16550_writeb(com_port, addr - (unsigned char *)com_port, value) + ns16550_writeb(com_port, \ + (unsigned char *)addr - (unsigned char *)com_port, value) #define serial_in(addr) \ - ns16550_readb(com_port, addr - (unsigned char *)com_port) + ns16550_readb(com_port, \ + (unsigned char *)addr - (unsigned char *)com_port) #endif static inline int calc_divisor(NS16550_t port, int clock, int baudrate) |