linux 2.6.16.38 w/ vs2.0.3-rc1
[linux-2.6.git] / drivers / serial / 8250_early.c
index 7e51119..59ba5d9 100644 (file)
@@ -74,7 +74,7 @@ static void __init wait_for_xmitr(struct uart_port *port)
        }
 }
 
-static void __init putc(struct uart_port *port, int c)
+static void __init putc(struct uart_port *port, unsigned char c)
 {
        wait_for_xmitr(port);
        serial_out(port, UART_TX, c);
@@ -89,7 +89,12 @@ static void __init early_uart_write(struct console *console, const char *s, unsi
        ier = serial_in(port, UART_IER);
        serial_out(port, UART_IER, 0);
 
-       uart_console_write(port, s, count, putc);
+       while (*s && count-- > 0) {
+               putc(port, *s);
+               if (*s == '\n')
+                       putc(port, '\r');
+               s++;
+       }
 
        /* Wait for transmitter to become empty and restore the IER */
        wait_for_xmitr(port);