From: Bo Svangård <bo.svangard@xxxxxxxxxxxxxx> Calls to regmap_raw_read/write needed register rewrite in a similar way as calls to regmap_read/write already had. This enables reading/writing the serial datastream to the device. Signed-off-by: Bo Svangård <bo.svangard@xxxxxxxxxxxxxx> --- --- drivers/tty/serial/sc16is7xx.c | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/drivers/tty/serial/sc16is7xx.c b/drivers/tty/serial/sc16is7xx.c index 468354e..a4fd862 100644 --- a/drivers/tty/serial/sc16is7xx.c +++ b/drivers/tty/serial/sc16is7xx.c @@ -495,8 +495,9 @@ static void sc16is7xx_handle_rx(struct uart_port *port, unsigned int rxlen, bytes_read = 1; } else { regcache_cache_bypass(s->regmap, true); - regmap_raw_read(s->regmap, SC16IS7XX_RHR_REG, - s->buf, rxlen); + regmap_raw_read(s->regmap, + (SC16IS7XX_RHR_REG << SC16IS7XX_REG_SHIFT) | port->line, + s->buf, rxlen); regcache_cache_bypass(s->regmap, false); bytes_read = rxlen; } @@ -578,7 +579,9 @@ static void sc16is7xx_handle_tx(struct uart_port *port) xmit->tail = (xmit->tail + 1) & (UART_XMIT_SIZE - 1); } regcache_cache_bypass(s->regmap, true); - regmap_raw_write(s->regmap, SC16IS7XX_THR_REG, s->buf, to_send); + regmap_raw_write(s->regmap, + (SC16IS7XX_THR_REG << SC16IS7XX_REG_SHIFT) | port->line, + s->buf, to_send); regcache_cache_bypass(s->regmap, false); } -- 2.1.4 -- To unsubscribe from this list: send the line "unsubscribe linux-serial" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html