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 <ying...@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 -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/