diff options
author | Haavard Skinnemoen <hskinnemoen@atmel.com> | 2008-02-08 04:21:02 -0800 |
---|---|---|
committer | Linus Torvalds <torvalds@woody.linux-foundation.org> | 2008-02-08 09:22:37 -0800 |
commit | 829dd8112274d46c5ed82d46be506762e2c8fcd8 (patch) | |
tree | cda57a693c27372b3553c71dbec7a01af20af9bf /drivers/serial/atmel_serial.c | |
parent | b843aa216c4da250c6732cd76430d73a6589beb5 (diff) | |
download | linux-829dd8112274d46c5ed82d46be506762e2c8fcd8.tar.gz linux-829dd8112274d46c5ed82d46be506762e2c8fcd8.tar.bz2 linux-829dd8112274d46c5ed82d46be506762e2c8fcd8.zip |
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.c | 4 |
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, imr = UART_GET_IMR(port); UART_PUT_IDR(port, -1); while (!(UART_GET_CSR(port) & ATMEL_US_TXEMPTY)) - barrier(); + cpu_relax(); /* disable receiver and transmitter */ 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) static void atmel_console_putchar(struct uart_port *port, int ch) { while (!(UART_GET_CSR(port) & ATMEL_US_TXRDY)) - barrier(); + cpu_relax(); UART_PUT_CHAR(port, ch); } |