diff options
Diffstat (limited to 'drivers/tty/serial/serial-tegra.c')
| -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 cc4072f5035..30d6ff6eddb 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;  |