diff options
author | Graeme Gregory <dp@xora.org.uk> | 2007-04-27 13:26:44 +0000 |
---|---|---|
committer | Graeme Gregory <dp@xora.org.uk> | 2007-04-27 13:26:44 +0000 |
commit | d97419033ff4871497f20f4f26d2c214ea6fc5c2 (patch) | |
tree | 10442d7a052bab9d87dd6592416e62e9ae5e4b99 | |
parent | 95feced9e1f4f8d446931b04203f9b84729cda5d (diff) |
linux-rp_2.6.20.bb : fix loading of 8250 module which makes all those BT/modem/other
CF cards people use work. Also fix the dmesg so it prints the correct ttySX device
for inserted cards (ttyS4 in practice)
The fault was 2.6.20 added an extra pxa serial port (not actually initialised) but
sitting in the minor space.
-rw-r--r-- | packages/linux/linux-rp-2.6.20/pxa-serial-hack.patch | 50 | ||||
-rw-r--r-- | packages/linux/linux-rp_2.6.20.bb | 2 |
2 files changed, 31 insertions, 21 deletions
diff --git a/packages/linux/linux-rp-2.6.20/pxa-serial-hack.patch b/packages/linux/linux-rp-2.6.20/pxa-serial-hack.patch index 9ece71331a..bf20f46a05 100644 --- a/packages/linux/linux-rp-2.6.20/pxa-serial-hack.patch +++ b/packages/linux/linux-rp-2.6.20/pxa-serial-hack.patch @@ -5,28 +5,38 @@ include/linux/serial_core.h | 1 + 4 files changed, 16 insertions(+), 3 deletions(-) -Index: git/drivers/serial/8250.c +Index: linux-2.6.20/drivers/serial/8250.c =================================================================== ---- git.orig/drivers/serial/8250.c 2006-10-31 16:29:50.000000000 +0000 -+++ git/drivers/serial/8250.c 2006-10-31 16:29:53.000000000 +0000 -@@ -2429,7 +2429,12 @@ static struct uart_driver serial8250_reg +--- linux-2.6.20.orig/drivers/serial/8250.c 2007-04-27 13:37:26.000000000 +0100 ++++ linux-2.6.20/drivers/serial/8250.c 2007-04-27 13:38:16.000000000 +0100 +@@ -2429,7 +2429,12 @@ .driver_name = "serial", .dev_name = "ttyS", .major = TTY_MAJOR, +#ifdef CONFIG_SERIAL_PXA -+ .minor = 64 + 3, -+ .name_base = 3, ++ .minor = 64 + 4, ++ .name_base = 4, +#else .minor = 64, +#endif .nr = UART_NR, .cons = SERIAL8250_CONSOLE, }; -Index: git/drivers/serial/serial_core.c +Index: linux-2.6.20/drivers/serial/serial_core.c =================================================================== ---- git.orig/drivers/serial/serial_core.c 2006-10-31 16:09:17.000000000 +0000 -+++ git/drivers/serial/serial_core.c 2006-10-31 16:29:53.000000000 +0000 -@@ -2183,6 +2183,7 @@ int uart_register_driver(struct uart_dri +--- linux-2.6.20.orig/drivers/serial/serial_core.c 2007-02-04 18:44:54.000000000 +0000 ++++ linux-2.6.20/drivers/serial/serial_core.c 2007-04-27 13:39:39.000000000 +0100 +@@ -2068,7 +2068,8 @@ + printk(KERN_INFO "%s%s%s%d at %s (irq = %d) is a %s\n", + port->dev ? port->dev->bus_id : "", + port->dev ? ": " : "", +- drv->dev_name, port->line, address, port->irq, uart_type(port)); ++ drv->dev_name, port->line + drv->name_base, address, port->irq, ++ uart_type(port)); + } + + static void +@@ -2183,6 +2184,7 @@ normal->owner = drv->owner; normal->driver_name = drv->driver_name; normal->name = drv->dev_name; @@ -34,11 +44,11 @@ Index: git/drivers/serial/serial_core.c normal->major = drv->major; normal->minor_start = drv->minor; normal->type = TTY_DRIVER_TYPE_SERIAL; -Index: git/include/linux/serial_core.h +Index: linux-2.6.20/include/linux/serial_core.h =================================================================== ---- git.orig/include/linux/serial_core.h 2006-10-31 16:09:45.000000000 +0000 -+++ git/include/linux/serial_core.h 2006-10-31 16:30:36.000000000 +0000 -@@ -339,6 +339,7 @@ struct uart_driver { +--- linux-2.6.20.orig/include/linux/serial_core.h 2007-02-04 18:44:54.000000000 +0000 ++++ linux-2.6.20/include/linux/serial_core.h 2007-04-27 13:37:27.000000000 +0100 +@@ -341,6 +341,7 @@ struct module *owner; const char *driver_name; const char *dev_name; @@ -46,11 +56,11 @@ Index: git/include/linux/serial_core.h int major; int minor; int nr; -Index: git/drivers/serial/serial_cs.c +Index: linux-2.6.20/drivers/serial/serial_cs.c =================================================================== ---- git.orig/drivers/serial/serial_cs.c 2006-10-31 16:09:17.000000000 +0000 -+++ git/drivers/serial/serial_cs.c 2006-10-31 16:29:53.000000000 +0000 -@@ -390,7 +390,7 @@ static int setup_serial(struct pcmcia_de +--- linux-2.6.20.orig/drivers/serial/serial_cs.c 2007-02-04 18:44:54.000000000 +0000 ++++ linux-2.6.20/drivers/serial/serial_cs.c 2007-04-27 13:40:34.000000000 +0100 +@@ -390,7 +390,7 @@ kio_addr_t iobase, int irq) { struct uart_port port; @@ -59,12 +69,12 @@ Index: git/drivers/serial/serial_cs.c memset(&port, 0, sizeof (struct uart_port)); port.iobase = iobase; -@@ -411,10 +411,16 @@ static int setup_serial(struct pcmcia_de +@@ -411,10 +411,16 @@ return -EINVAL; } +#if CONFIG_SERIAL_PXA -+ linestart = 3; ++ linestart = 4; +#else + linestart = 0; +#endif diff --git a/packages/linux/linux-rp_2.6.20.bb b/packages/linux/linux-rp_2.6.20.bb index 94c5558822..3180352381 100644 --- a/packages/linux/linux-rp_2.6.20.bb +++ b/packages/linux/linux-rp_2.6.20.bb @@ -1,6 +1,6 @@ require linux-rp.inc -PR = "r14" +PR = "r15" # Handy URLs # git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6.git;protocol=git;tag=ef7d1b244fa6c94fb76d5f787b8629df64ea4046 |