diff options
author | Haavard Skinnemoen <hskinnemoen@atmel.com> | 2008-02-08 07:21:02 -0500 |
---|---|---|
committer | Linus Torvalds <torvalds@woody.linux-foundation.org> | 2008-02-08 12:22:37 -0500 |
commit | 829dd8112274d46c5ed82d46be506762e2c8fcd8 (patch) | |
tree | cda57a693c27372b3553c71dbec7a01af20af9bf /drivers/serial | |
parent | b843aa216c4da250c6732cd76430d73a6589beb5 (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')
-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, | |||
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) | |||
794 | static void atmel_console_putchar(struct uart_port *port, int ch) | 794 | static 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 | ||