Messages in this thread Patch in this message | | | From | Yinghai Lu <> | Subject | [PATCH 22/42] x86, setup: Check early serial console per string instead of one char | Date | Tue, 7 Jul 2015 13:20:08 -0700 |
| |
Move out serial_putchar() calling out of putchar Let puts() to call serial_putchar() directly.
So only need to check early_serial_base per string.
Signed-off-by: Yinghai Lu <yinghai@kernel.org> --- arch/x86/boot/tty.c | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-)
diff --git a/arch/x86/boot/tty.c b/arch/x86/boot/tty.c index def2451..114caea 100644 --- a/arch/x86/boot/tty.c +++ b/arch/x86/boot/tty.c @@ -52,16 +52,22 @@ static void __attribute__((section(".inittext"))) bios_putchar(int ch) void __attribute__((section(".inittext"))) putchar(int ch) { if (ch == '\n') - putchar('\r'); /* \n -> \r\n */ + bios_putchar('\r'); /* \n -> \r\n */ bios_putchar(ch); - - if (early_serial_base != 0) - serial_putchar(ch); } void __attribute__((section(".inittext"))) puts(const char *str) { + if (early_serial_base) { + const char *s = str; + while (*s) { + if (*s == '\n') + serial_putchar('\r'); + serial_putchar(*s++); + } + } + while (*str) putchar(*str++); } -- 1.8.4.5
| |