[x86] add rootwait option to the kernel command line (#6209)
[openwrt.git] / target / linux / s3c24xx / patches-2.6.31 / 110-serial.patch
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
5
6 ---
7  drivers/serial/samsung.c |   19 +++++++++++++++++++
8  1 files changed, 19 insertions(+), 0 deletions(-)
9
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
16  
17  static struct uart_port *cons_uart;
18 +static int cons_silenced;
19 +
20 +void s3c24xx_serial_console_set_silence(int silenced)
21 +{
22 +       cons_silenced = silenced;
23 +}
24 +EXPORT_SYMBOL(s3c24xx_serial_console_set_silence);
25  
26  static int
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)
30  {
31         unsigned int ufcon = rd_regl(cons_uart, S3C2410_UFCON);
32 +       unsigned int umcon = rd_regl(cons_uart, S3C2410_UMCON);
33 +
34 +       if (cons_silenced)
35 +               return;
36 +
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));
40 +
41         while (!s3c24xx_serial_console_txrdy(port, ufcon))
42                 barrier();
43         wr_regb(cons_uart, S3C2410_UTXH, ch);
44 +
45 +       if (umcon & S3C2410_UMCOM_AFC)
46 +               wr_regl(port, S3C2410_UMCON, umcon);
47  }
48  
49  static void
50 -- 
51 1.5.6.5
52