summaryrefslogtreecommitdiffstats
path: root/meta/packages/linux/linux-rp-2.6.19+2.6.20-rc4/pxa-serial-hack.patch
diff options
context:
space:
mode:
Diffstat (limited to 'meta/packages/linux/linux-rp-2.6.19+2.6.20-rc4/pxa-serial-hack.patch')
-rw-r--r--meta/packages/linux/linux-rp-2.6.19+2.6.20-rc4/pxa-serial-hack.patch80
1 files changed, 80 insertions, 0 deletions
diff --git a/meta/packages/linux/linux-rp-2.6.19+2.6.20-rc4/pxa-serial-hack.patch b/meta/packages/linux/linux-rp-2.6.19+2.6.20-rc4/pxa-serial-hack.patch
new file mode 100644
index 0000000000..9ece71331a
--- /dev/null
+++ b/meta/packages/linux/linux-rp-2.6.19+2.6.20-rc4/pxa-serial-hack.patch
@@ -0,0 +1,80 @@
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
8Index: 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 };
25Index: 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;
37Index: 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;
49Index: 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++;