Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 962963e4 authored by Thierry Reding's avatar Thierry Reding Committed by Greg Kroah-Hartman
Browse files

serial: tegra: Switch to using struct tty_port



Many of the tty functions were converted to use a struct tty_port
instead of a struct tty_struct. Update the Tegra driver accordingly to
avoid build breakage.

Signed-off-by: default avatarThierry Reding <thierry.reding@avionic-design.de>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent 45e786a6
Loading
Loading
Loading
Loading
+15 −12
Original line number Original line Diff line number Diff line
@@ -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,
static void tegra_uart_handle_rx_pio(struct tegra_uart_port *tup,
		struct tty_struct *tty)
		struct tty_port *tty)
{
{
	do {
	do {
		char flag = TTY_NORMAL;
		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,
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;
	int copied;


@@ -554,6 +554,7 @@ static void tegra_uart_rx_dma_complete(void *args)
	struct uart_port *u = &tup->uport;
	struct uart_port *u = &tup->uport;
	int count = tup->rx_bytes_requested;
	int count = tup->rx_bytes_requested;
	struct tty_struct *tty = tty_port_tty_get(&tup->uport.state->port);
	struct tty_struct *tty = tty_port_tty_get(&tup->uport.state->port);
	struct tty_port *port = &u->state->port;
	unsigned long flags;
	unsigned long flags;


	async_tx_ack(tup->rx_dma_desc);
	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 we are here, DMA is stopped */
	if (count)
	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) {
	if (tty) {
		tty_flip_buffer_push(tty);
		tty_flip_buffer_push(port);
		tty_kref_put(tty);
		tty_kref_put(tty);
	}
	}
	tegra_uart_start_rx_dma(tup);
	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 dma_tx_state state;
	struct tty_struct *tty = tty_port_tty_get(&tup->uport.state->port);
	struct tty_struct *tty = tty_port_tty_get(&tup->uport.state->port);
	struct tty_port *port = &tup->uport.state->port;
	int count;
	int count;


	/* Deactivate flow control to stop sender */
	/* 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 we are here, DMA is stopped */
	if (count)
	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) {
	if (tty) {
		tty_flip_buffer_push(tty);
		tty_flip_buffer_push(port);
		tty_kref_put(tty);
		tty_kref_put(tty);
	}
	}
	tegra_uart_start_rx_dma(tup);
	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 tegra_uart_port *tup = to_tegra_uport(u);
	struct tty_struct *tty = tty_port_tty_get(&tup->uport.state->port);
	struct tty_struct *tty = tty_port_tty_get(&tup->uport.state->port);
	struct tty_port *port = &u->state->port;
	struct dma_tx_state state;
	struct dma_tx_state state;
	unsigned long ier;
	unsigned long ier;
	int count;
	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);
		dmaengine_tx_status(tup->rx_dma_chan, tup->rx_cookie, &state);
		async_tx_ack(tup->rx_dma_desc);
		async_tx_ack(tup->rx_dma_desc);
		count = tup->rx_bytes_requested - state.residue;
		count = tup->rx_bytes_requested - state.residue;
		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);
	} else {
	} else {
		tegra_uart_handle_rx_pio(tup, tty);
		tegra_uart_handle_rx_pio(tup, port);
	}
	}
	if (tty) {
	if (tty) {
		tty_flip_buffer_push(tty);
		tty_flip_buffer_push(port);
		tty_kref_put(tty);
		tty_kref_put(tty);
	}
	}
	return;
	return;