diff options
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/tty/serial/serial-tegra.c | 27 |
1 files changed, 15 insertions, 12 deletions
diff --git a/drivers/tty/serial/serial-tegra.c b/drivers/tty/serial/serial-tegra.c index cc4072f50352..30d6ff6eddb0 100644 --- a/drivers/tty/serial/serial-tegra.c +++ b/drivers/tty/serial/serial-tegra.c @@ -504,7 +504,7 @@ static void tegra_uart_handle_tx_pio(struct tegra_uart_port *tup) } static void tegra_uart_handle_rx_pio(struct tegra_uart_port *tup, - struct tty_struct *tty) + struct tty_port *tty) { do { char flag = TTY_NORMAL; @@ -527,7 +527,7 @@ static void tegra_uart_handle_rx_pio(struct tegra_uart_port *tup, } static void tegra_uart_copy_rx_to_tty(struct tegra_uart_port *tup, - struct tty_struct *tty, int count) + struct tty_port *tty, int count) { int copied; @@ -554,6 +554,7 @@ static void tegra_uart_rx_dma_complete(void *args) struct uart_port *u = &tup->uport; int count = tup->rx_bytes_requested; struct tty_struct *tty = tty_port_tty_get(&tup->uport.state->port); + struct tty_port *port = &u->state->port; unsigned long flags; async_tx_ack(tup->rx_dma_desc); @@ -565,11 +566,11 @@ static void tegra_uart_rx_dma_complete(void *args) /* If we are here, DMA is stopped */ if (count) - tegra_uart_copy_rx_to_tty(tup, tty, count); + tegra_uart_copy_rx_to_tty(tup, port, count); - tegra_uart_handle_rx_pio(tup, tty); + tegra_uart_handle_rx_pio(tup, port); if (tty) { - tty_flip_buffer_push(tty); + tty_flip_buffer_push(port); tty_kref_put(tty); } tegra_uart_start_rx_dma(tup); @@ -585,6 +586,7 @@ static void tegra_uart_handle_rx_dma(struct tegra_uart_port *tup) { struct dma_tx_state state; struct tty_struct *tty = tty_port_tty_get(&tup->uport.state->port); + struct tty_port *port = &tup->uport.state->port; int count; /* Deactivate flow control to stop sender */ @@ -597,11 +599,11 @@ static void tegra_uart_handle_rx_dma(struct tegra_uart_port *tup) /* If we are here, DMA is stopped */ if (count) - tegra_uart_copy_rx_to_tty(tup, tty, count); + tegra_uart_copy_rx_to_tty(tup, port, count); - tegra_uart_handle_rx_pio(tup, tty); + tegra_uart_handle_rx_pio(tup, port); if (tty) { - tty_flip_buffer_push(tty); + tty_flip_buffer_push(port); tty_kref_put(tty); } tegra_uart_start_rx_dma(tup); @@ -724,6 +726,7 @@ static void tegra_uart_stop_rx(struct uart_port *u) { struct tegra_uart_port *tup = to_tegra_uport(u); struct tty_struct *tty = tty_port_tty_get(&tup->uport.state->port); + struct tty_port *port = &u->state->port; struct dma_tx_state state; unsigned long ier; int count; @@ -747,13 +750,13 @@ static void tegra_uart_stop_rx(struct uart_port *u) dmaengine_tx_status(tup->rx_dma_chan, tup->rx_cookie, &state); async_tx_ack(tup->rx_dma_desc); count = tup->rx_bytes_requested - state.residue; - tegra_uart_copy_rx_to_tty(tup, tty, count); - tegra_uart_handle_rx_pio(tup, tty); + tegra_uart_copy_rx_to_tty(tup, port, count); + tegra_uart_handle_rx_pio(tup, port); } else { - tegra_uart_handle_rx_pio(tup, tty); + tegra_uart_handle_rx_pio(tup, port); } if (tty) { - tty_flip_buffer_push(tty); + tty_flip_buffer_push(port); tty_kref_put(tty); } return; |