From a723dde8da19158a8d14f9760cd33c434b64242a Mon Sep 17 00:00:00 2001 From: Tomoya MORINAGA Date: Wed, 23 Feb 2011 10:03:14 +0900 Subject: [PATCH] --- yaml --- r: 235559 b: refs/heads/master c: 1822076cf324dde1eb9678ae2174dc8b4662417c h: refs/heads/master i: 235557: 6ced7bbc8f008af616c8041b01718a7ffa9a303a 235555: ea3460ae3ba5f9b411f8373b562d0193cb00728c 235551: d629bcc4fe70077707f124e1588e4fa1caf9cc3e v: v3 --- [refs] | 2 +- trunk/drivers/tty/serial/pch_uart.c | 13 +++++-------- 2 files changed, 6 insertions(+), 9 deletions(-) diff --git a/[refs] b/[refs] index 8d3257a4a899..4160fddb3eb1 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 7e4613296576c843643ceb97091d98da1e8caab8 +refs/heads/master: 1822076cf324dde1eb9678ae2174dc8b4662417c diff --git a/trunk/drivers/tty/serial/pch_uart.c b/trunk/drivers/tty/serial/pch_uart.c index 9e1b8652de7f..0e171b8f0700 100644 --- a/trunk/drivers/tty/serial/pch_uart.c +++ b/trunk/drivers/tty/serial/pch_uart.c @@ -390,7 +390,7 @@ static u8 pch_uart_hal_get_modem(struct eg20t_port *priv) return get_msr(priv, priv->membase); } -static int pch_uart_hal_write(struct eg20t_port *priv, +static void pch_uart_hal_write(struct eg20t_port *priv, const unsigned char *buf, int tx_size) { int i; @@ -400,7 +400,6 @@ static int pch_uart_hal_write(struct eg20t_port *priv, thr = buf[i++]; iowrite8(thr, priv->membase + PCH_UART_THR); } - return i; } static int pch_uart_hal_read(struct eg20t_port *priv, unsigned char *buf, @@ -634,7 +633,7 @@ static void pch_dma_tx_complete(void *arg) pch_uart_hal_enable_interrupt(priv, PCH_UART_HAL_TX_INT); } -static int pop_tx(struct eg20t_port *priv, unsigned char *buf, int size) +static int pop_tx(struct eg20t_port *priv, int size) { int count = 0; struct uart_port *port = &priv->port; @@ -647,7 +646,7 @@ static int pop_tx(struct eg20t_port *priv, unsigned char *buf, int size) int cnt_to_end = CIRC_CNT_TO_END(xmit->head, xmit->tail, UART_XMIT_SIZE); int sz = min(size - count, cnt_to_end); - memcpy(&buf[count], &xmit->buf[xmit->tail], sz); + pch_uart_hal_write(priv, &xmit->buf[xmit->tail], sz); xmit->tail = (xmit->tail + sz) & (UART_XMIT_SIZE - 1); count += sz; } while (!uart_circ_empty(xmit) && count < size); @@ -723,7 +722,6 @@ static unsigned int handle_tx(struct eg20t_port *priv) { struct uart_port *port = &priv->port; struct circ_buf *xmit = &port->state->xmit; - int ret; int fifo_size; int tx_size; int size; @@ -748,10 +746,9 @@ static unsigned int handle_tx(struct eg20t_port *priv) if (size < 0) size = fifo_size; - tx_size = pop_tx(priv, xmit->buf, size); + tx_size = pop_tx(priv, size); if (tx_size > 0) { - ret = pch_uart_hal_write(priv, xmit->buf, tx_size); - port->icount.tx += ret; + port->icount.tx += tx_size; tx_empty = 0; }