[kernel] update to 2.6.25.12
[openwrt-10.03/.git] / target / linux / ar7 / patches-2.6.25 / 500-serial_kludge.patch
1 --- a/drivers/serial/8250.c
2 +++ b/drivers/serial/8250.c
3 @@ -267,6 +267,13 @@
4                 .fcr            = UART_FCR_ENABLE_FIFO | UART_FCR_R_TRIG_10,
5                 .flags          = UART_CAP_FIFO,
6         },
7 +       [PORT_AR7] = {
8 +               .name           = "TI-AR7",
9 +               .fifo_size      = 16,
10 +               .tx_loadsz      = 16,
11 +               .fcr            = UART_FCR_ENABLE_FIFO | UART_FCR_R_TRIG_00,
12 +               .flags          = UART_CAP_FIFO | UART_CAP_AFE,
13 +       },
14  };
15  
16  #if defined (CONFIG_SERIAL_8250_AU1X00)
17 @@ -2457,7 +2464,11 @@
18  {
19         struct uart_8250_port *up = (struct uart_8250_port *)port;
20  
21 +#ifdef CONFIG_AR7
22 +       wait_for_xmitr(up, BOTH_EMPTY);
23 +#else
24         wait_for_xmitr(up, UART_LSR_THRE);
25 +#endif
26         serial_out(up, UART_TX, ch);
27  }
28  
29 --- a/include/linux/serial_core.h
30 +++ b/include/linux/serial_core.h
31 @@ -40,7 +40,8 @@
32  #define PORT_NS16550A  14
33  #define PORT_XSCALE    15
34  #define PORT_RM9000    16      /* PMC-Sierra RM9xxx internal UART */
35 -#define PORT_MAX_8250  16      /* max port ID */
36 +#define PORT_AR7       17
37 +#define PORT_MAX_8250  17      /* max port ID */
38  
39  /*
40   * ARM specific type numbers.  These are not currently guaranteed