1 From 15f219822a30534756518cd8c4dfade95c4959c2 Mon Sep 17 00:00:00 2001
2 From: Lars-Peter Clausen <lars@metafoo.de>
3 Date: Tue, 21 Jul 2009 12:51:57 +0200
4 Subject: [PATCH] 110-serial.patch
7 drivers/serial/samsung.c | 19 +++++++++++++++++++
8 1 files changed, 19 insertions(+), 0 deletions(-)
10 diff --git a/drivers/serial/samsung.c b/drivers/serial/samsung.c
11 index bf0af79..64c35d1 100644
12 --- a/drivers/serial/samsung.c
13 +++ b/drivers/serial/samsung.c
14 @@ -1263,6 +1263,13 @@ module_exit(s3c24xx_serial_modexit);
15 #ifdef CONFIG_SERIAL_SAMSUNG_CONSOLE
17 static struct uart_port *cons_uart;
18 +static int cons_silenced;
20 +void s3c24xx_serial_console_set_silence(int silenced)
22 + cons_silenced = silenced;
24 +EXPORT_SYMBOL(s3c24xx_serial_console_set_silence);
27 s3c24xx_serial_console_txrdy(struct uart_port *port, unsigned int ufcon)
28 @@ -1287,9 +1294,21 @@ static void
29 s3c24xx_serial_console_putchar(struct uart_port *port, int ch)
31 unsigned int ufcon = rd_regl(cons_uart, S3C2410_UFCON);
32 + unsigned int umcon = rd_regl(cons_uart, S3C2410_UMCON);
37 + /* If auto HW flow control enabled, temporarily turn it off */
38 + if (umcon & S3C2410_UMCOM_AFC)
39 + wr_regl(port, S3C2410_UMCON, (umcon & !S3C2410_UMCOM_AFC));
41 while (!s3c24xx_serial_console_txrdy(port, ufcon))
43 wr_regb(cons_uart, S3C2410_UTXH, ch);
45 + if (umcon & S3C2410_UMCOM_AFC)
46 + wr_regl(port, S3C2410_UMCON, umcon);