merge of 425cf1b391611c169a1c3b78f1fe86df088902b9
[vuplus_openembedded] / packages / linux / linux-rp-2.6.18+git / pxa-serial-hack.patch
1 ---
2  drivers/serial/8250.c        |    5 +++++
3  drivers/serial/serial_core.c |    1 +
4  drivers/serial/serial_cs.c   |   12 +++++++++---
5  include/linux/serial_core.h  |    1 +
6  4 files changed, 16 insertions(+), 3 deletions(-)
7
8 Index: git/drivers/serial/8250.c
9 ===================================================================
10 --- git.orig/drivers/serial/8250.c      2006-10-31 16:29:50.000000000 +0000
11 +++ git/drivers/serial/8250.c   2006-10-31 16:29:53.000000000 +0000
12 @@ -2429,7 +2429,12 @@ static struct uart_driver serial8250_reg
13         .driver_name            = "serial",
14         .dev_name               = "ttyS",
15         .major                  = TTY_MAJOR,
16 +#ifdef CONFIG_SERIAL_PXA
17 +       .minor                  = 64 + 3,
18 +       .name_base              = 3,
19 +#else
20         .minor                  = 64,
21 +#endif
22         .nr                     = UART_NR,
23         .cons                   = SERIAL8250_CONSOLE,
24  };
25 Index: git/drivers/serial/serial_core.c
26 ===================================================================
27 --- git.orig/drivers/serial/serial_core.c       2006-10-31 16:09:17.000000000 +0000
28 +++ git/drivers/serial/serial_core.c    2006-10-31 16:29:53.000000000 +0000
29 @@ -2183,6 +2183,7 @@ int uart_register_driver(struct uart_dri
30         normal->owner           = drv->owner;
31         normal->driver_name     = drv->driver_name;
32         normal->name            = drv->dev_name;
33 +       normal->name_base       = drv->name_base;
34         normal->major           = drv->major;
35         normal->minor_start     = drv->minor;
36         normal->type            = TTY_DRIVER_TYPE_SERIAL;
37 Index: git/include/linux/serial_core.h
38 ===================================================================
39 --- git.orig/include/linux/serial_core.h        2006-10-31 16:09:45.000000000 +0000
40 +++ git/include/linux/serial_core.h     2006-10-31 16:30:36.000000000 +0000
41 @@ -339,6 +339,7 @@ struct uart_driver {
42         struct module           *owner;
43         const char              *driver_name;
44         const char              *dev_name;
45 +       int                      name_base;
46         int                      major;
47         int                      minor;
48         int                      nr;
49 Index: git/drivers/serial/serial_cs.c
50 ===================================================================
51 --- git.orig/drivers/serial/serial_cs.c 2006-10-31 16:09:17.000000000 +0000
52 +++ git/drivers/serial/serial_cs.c      2006-10-31 16:29:53.000000000 +0000
53 @@ -390,7 +390,7 @@ static int setup_serial(struct pcmcia_de
54                         kio_addr_t iobase, int irq)
55  {
56         struct uart_port port;
57 -       int line;
58 +       int line, linestart;
59  
60         memset(&port, 0, sizeof (struct uart_port));
61         port.iobase = iobase;
62 @@ -411,10 +411,16 @@ static int setup_serial(struct pcmcia_de
63                 return -EINVAL;
64         }
65  
66 +#if CONFIG_SERIAL_PXA
67 +       linestart = 3;
68 +#else
69 +       linestart = 0;
70 +#endif
71 +
72         info->line[info->ndev] = line;
73 -       sprintf(info->node[info->ndev].dev_name, "ttyS%d", line);
74 +       sprintf(info->node[info->ndev].dev_name, "ttyS%d", line+linestart);
75         info->node[info->ndev].major = TTY_MAJOR;
76 -       info->node[info->ndev].minor = 0x40 + line;
77 +       info->node[info->ndev].minor = 0x40 + line + linestart;
78         if (info->ndev > 0)
79                 info->node[info->ndev - 1].next = &info->node[info->ndev];
80         info->ndev++;