X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=drivers%2Fserial%2F21285.c;fp=drivers%2Fserial%2F21285.c;h=8c5c276c55771eb297fa756ed2cf23e0159d8fc2;hb=64ba3f394c830ec48a1c31b53dcae312c56f1604;hp=57438326b07f94549e32705801e16e8ced09acd5;hpb=be1e6109ac94a859551f8e1774eb9a8469fe055c;p=linux-2.6.git diff --git a/drivers/serial/21285.c b/drivers/serial/21285.c index 57438326b..8c5c276c5 100644 --- a/drivers/serial/21285.c +++ b/drivers/serial/21285.c @@ -7,6 +7,7 @@ * * $Id: 21285.c,v 1.37 2002/07/28 10:03:27 rmk Exp $ */ +#include #include #include #include @@ -374,18 +375,23 @@ static void serial21285_setup_ports(void) } #ifdef CONFIG_SERIAL_21285_CONSOLE -static void serial21285_console_putchar(struct uart_port *port, int ch) -{ - while (*CSR_UARTFLG & 0x20) - barrier(); - *CSR_UARTDR = ch; -} static void serial21285_console_write(struct console *co, const char *s, unsigned int count) { - uart_console_write(&serial21285_port, s, count, serial21285_console_putchar); + int i; + + for (i = 0; i < count; i++) { + while (*CSR_UARTFLG & 0x20) + barrier(); + *CSR_UARTDR = s[i]; + if (s[i] == '\n') { + while (*CSR_UARTFLG & 0x20) + barrier(); + *CSR_UARTDR = '\r'; + } + } } static void __init @@ -478,6 +484,7 @@ static struct uart_driver serial21285_reg = { .owner = THIS_MODULE, .driver_name = "ttyFB", .dev_name = "ttyFB", + .devfs_name = "ttyFB", .major = SERIAL_21285_MAJOR, .minor = SERIAL_21285_MINOR, .nr = 1,