Use cpu_relax() instead of barrier() in a tight polling loops to make them a bit more idiomatic. Should also improve things on ARM64 a bit since cpu_relax() will expand into "yield" instruction there.
Signed-off-by: Andrey Smirnov <[email protected]> Cc: Stefan Agner <[email protected]> Cc: Chris Healy <[email protected]> Cc: Cory Tusar <[email protected]> Cc: Lucas Stach <[email protected]> Cc: Greg Kroah-Hartman <[email protected]> Cc: Jiri Slaby <[email protected]> Cc: [email protected] Cc: [email protected] Cc: [email protected] --- drivers/tty/serial/fsl_lpuart.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/tty/serial/fsl_lpuart.c b/drivers/tty/serial/fsl_lpuart.c index eb748ef85da7..58043e01a242 100644 --- a/drivers/tty/serial/fsl_lpuart.c +++ b/drivers/tty/serial/fsl_lpuart.c @@ -553,14 +553,14 @@ static void lpuart_wait_bit_set(struct uart_port *port, unsigned int offset, u8 bit) { while (!(readb(port->membase + offset) & bit)) - barrier(); + cpu_relax(); } static void lpuart32_wait_bit_set(struct uart_port *port, unsigned int offset, u32 bit) { while (!(lpuart32_read(port, offset) & bit)) - barrier(); + cpu_relax(); } #if defined(CONFIG_CONSOLE_POLL) -- 2.21.0

