Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit f2bfdb06 authored by Masahiro Yamada's avatar Masahiro Yamada Committed by Greg Kroah-Hartman
Browse files

serial: 8250_early: confirm empty transmitter after sending characters



The current code waits until the transmitter becomes empty,
before sending each character, and after finishing the whole string.
This seems a bit redundant.

It can be more efficient by checking the transmitter only after sending
each character.  This should be safe because the transmitter is already
empty at the first entry of serial_putc().

Signed-off-by: default avatarMasahiro Yamada <yamada.masahiro@socionext.com>
Reviewed-by: default avatarPeter Hurley <peter@hurleysoftware.com>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent 2cda227b
Loading
Loading
Loading
Loading
+1 −4
Original line number Original line Diff line number Diff line
@@ -87,8 +87,8 @@ static void __init wait_for_xmitr(struct uart_port *port)


static void __init serial_putc(struct uart_port *port, int c)
static void __init serial_putc(struct uart_port *port, int c)
{
{
	wait_for_xmitr(port);
	serial8250_early_out(port, UART_TX, c);
	serial8250_early_out(port, UART_TX, c);
	wait_for_xmitr(port);
}
}


static void __init early_serial8250_write(struct console *console,
static void __init early_serial8250_write(struct console *console,
@@ -98,9 +98,6 @@ static void __init early_serial8250_write(struct console *console,
	struct uart_port *port = &device->port;
	struct uart_port *port = &device->port;


	uart_console_write(port, s, count, serial_putc);
	uart_console_write(port, s, count, serial_putc);

	/* Wait for transmitter to become empty */
	wait_for_xmitr(port);
}
}


static void __init init_port(struct earlycon_device *device)
static void __init init_port(struct earlycon_device *device)