aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/serial/atmel_serial.c
diff options
context:
space:
mode:
authorHaavard Skinnemoen <hskinnemoen@atmel.com>2008-02-08 07:21:02 -0500
committerLinus Torvalds <torvalds@woody.linux-foundation.org>2008-02-08 12:22:37 -0500
commit829dd8112274d46c5ed82d46be506762e2c8fcd8 (patch)
treecda57a693c27372b3553c71dbec7a01af20af9bf /drivers/serial/atmel_serial.c
parentb843aa216c4da250c6732cd76430d73a6589beb5 (diff)
atmel_serial: use cpu_relax() when busy-waiting
Replace two instances of barrier() with cpu_relax() since that's the right thing to do when busy-waiting. This does not actually change anything since cpu_relax() is defined as barrier() on both ARM and AVR32. Signed-off-by: Haavard Skinnemoen <hskinnemoen@atmel.com> Acked-by: Andrew Victor <linux@maxim.org.za> Tested-by: Marc Pignat <marc.pignat@hevs.ch> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'drivers/serial/atmel_serial.c')
-rw-r--r--drivers/serial/atmel_serial.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/serial/atmel_serial.c b/drivers/serial/atmel_serial.c
index bb9c3574caa9..4d1ccc2b762d 100644
--- a/drivers/serial/atmel_serial.c
+++ b/drivers/serial/atmel_serial.c
@@ -615,7 +615,7 @@ static void atmel_set_termios(struct uart_port *port, struct ktermios *termios,
615 imr = UART_GET_IMR(port); 615 imr = UART_GET_IMR(port);
616 UART_PUT_IDR(port, -1); 616 UART_PUT_IDR(port, -1);
617 while (!(UART_GET_CSR(port) & ATMEL_US_TXEMPTY)) 617 while (!(UART_GET_CSR(port) & ATMEL_US_TXEMPTY))
618 barrier(); 618 cpu_relax();
619 619
620 /* disable receiver and transmitter */ 620 /* disable receiver and transmitter */
621 UART_PUT_CR(port, ATMEL_US_TXDIS | ATMEL_US_RXDIS); 621 UART_PUT_CR(port, ATMEL_US_TXDIS | ATMEL_US_RXDIS);
@@ -794,7 +794,7 @@ void __init atmel_register_uart_fns(struct atmel_port_fns *fns)
794static void atmel_console_putchar(struct uart_port *port, int ch) 794static void atmel_console_putchar(struct uart_port *port, int ch)
795{ 795{
796 while (!(UART_GET_CSR(port) & ATMEL_US_TXRDY)) 796 while (!(UART_GET_CSR(port) & ATMEL_US_TXRDY))
797 barrier(); 797 cpu_relax();
798 UART_PUT_CHAR(port, ch); 798 UART_PUT_CHAR(port, ch);
799} 799}
800 800