aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/serial/sunsu.c
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@g5.osdl.org>2006-03-22 20:33:12 -0500
committerLinus Torvalds <torvalds@g5.osdl.org>2006-03-22 20:33:12 -0500
commit9d8f057acbd38d8177cf2ffd5e151d52c2477372 (patch)
tree1c3387b045a8a487ff99bf3abed1cdf41670f6e6 /drivers/serial/sunsu.c
parent591eb85ecd7e6eb8596c6129ae074e16636b99f4 (diff)
parent91bca4b3e2f1aaaf67e62a36914f33ca1e7d5a06 (diff)
Merge master.kernel.org:/home/rmk/linux-2.6-serial
* master.kernel.org:/home/rmk/linux-2.6-serial: [SERIAL] Merge avlab serial board entries in parport_serial [SERIAL] kernel console should send CRLF not LFCR
Diffstat (limited to 'drivers/serial/sunsu.c')
-rw-r--r--drivers/serial/sunsu.c26
1 files changed, 9 insertions, 17 deletions
diff --git a/drivers/serial/sunsu.c b/drivers/serial/sunsu.c
index 46c44b83f57c..7fc3d3b41d18 100644
--- a/drivers/serial/sunsu.c
+++ b/drivers/serial/sunsu.c
@@ -1377,6 +1377,14 @@ static __inline__ void wait_for_xmitr(struct uart_sunsu_port *up)
1377 } 1377 }
1378} 1378}
1379 1379
1380static void sunsu_console_putchar(struct uart_port *port, int ch)
1381{
1382 struct uart_sunsu_port *up = (struct uart_sunsu_port *)port;
1383
1384 wait_for_xmitr(up);
1385 serial_out(up, UART_TX, ch);
1386}
1387
1380/* 1388/*
1381 * Print a string to the serial port trying not to disturb 1389 * Print a string to the serial port trying not to disturb
1382 * any possible real use of the port... 1390 * any possible real use of the port...
@@ -1386,7 +1394,6 @@ static void sunsu_console_write(struct console *co, const char *s,
1386{ 1394{
1387 struct uart_sunsu_port *up = &sunsu_ports[co->index]; 1395 struct uart_sunsu_port *up = &sunsu_ports[co->index];
1388 unsigned int ier; 1396 unsigned int ier;
1389 int i;
1390 1397
1391 /* 1398 /*
1392 * First save the UER then disable the interrupts 1399 * First save the UER then disable the interrupts
@@ -1394,22 +1401,7 @@ static void sunsu_console_write(struct console *co, const char *s,
1394 ier = serial_in(up, UART_IER); 1401 ier = serial_in(up, UART_IER);
1395 serial_out(up, UART_IER, 0); 1402 serial_out(up, UART_IER, 0);
1396 1403
1397 /* 1404 uart_console_write(&up->port, s, count, sunsu_console_putchar);
1398 * Now, do each character
1399 */
1400 for (i = 0; i < count; i++, s++) {
1401 wait_for_xmitr(up);
1402
1403 /*
1404 * Send the character out.
1405 * If a LF, also do CR...
1406 */
1407 serial_out(up, UART_TX, *s);
1408 if (*s == 10) {
1409 wait_for_xmitr(up);
1410 serial_out(up, UART_TX, 13);
1411 }
1412 }
1413 1405
1414 /* 1406 /*
1415 * Finally, wait for transmitter to become empty 1407 * Finally, wait for transmitter to become empty