Skip to content

Commit

Permalink
serial: imx: drop useless member from driver data
Browse files Browse the repository at this point in the history
The wait queue was only initialized and then checked if it contains
active jobs but a job is never added. The last real user was removed
with commit 9d29723 ("serial: imx-serial - update UART IMX driver
to use cyclic DMA").

Further there is no need to release the lock for the check if the port
should be woken up, (and IMHO there never was) so drop the unlock/lock
pair in dma_tx_callback(), too.

Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
  • Loading branch information
Uwe Kleine-König authored and Greg Kroah-Hartman committed Jul 30, 2017
1 parent f67276a commit 64432a8
Showing 1 changed file with 1 addition and 12 deletions.
13 changes: 1 addition & 12 deletions drivers/tty/serial/imx.c
Original file line number Diff line number Diff line change
Expand Up @@ -226,7 +226,6 @@ struct imx_port {
dma_cookie_t rx_cookie;
unsigned int tx_bytes;
unsigned int dma_tx_nents;
wait_queue_head_t dma_wait;
unsigned int saved_reg[10];
bool context_saved;
};
Expand Down Expand Up @@ -498,20 +497,12 @@ static void dma_tx_callback(void *data)

sport->dma_is_txing = 0;

spin_unlock_irqrestore(&sport->port.lock, flags);

if (uart_circ_chars_pending(xmit) < WAKEUP_CHARS)
uart_write_wakeup(&sport->port);

if (waitqueue_active(&sport->dma_wait)) {
wake_up(&sport->dma_wait);
dev_dbg(sport->port.dev, "exit in %s.\n", __func__);
return;
}

spin_lock_irqsave(&sport->port.lock, flags);
if (!uart_circ_empty(xmit) && !uart_tx_stopped(&sport->port))
imx_dma_tx(sport);

spin_unlock_irqrestore(&sport->port.lock, flags);
}

Expand Down Expand Up @@ -1208,8 +1199,6 @@ static void imx_enable_dma(struct imx_port *sport)
{
unsigned long temp;

init_waitqueue_head(&sport->dma_wait);

/* set UCR1 */
temp = readl(sport->port.membase + UCR1);
temp |= UCR1_RDMAEN | UCR1_TDMAEN | UCR1_ATDMAEN;
Expand Down

0 comments on commit 64432a8

Please sign in to comment.