summaryrefslogtreecommitdiffstats
path: root/package/linux/kernel-patches/019-drivers_char_serial_c
diff options
context:
space:
mode:
authorwbx <wbx@3c298f89-4303-0410-b956-a3cf2f4a3e73>2005-03-26 10:33:32 +0000
committerwbx <wbx@3c298f89-4303-0410-b956-a3cf2f4a3e73>2005-03-26 10:33:32 +0000
commite69d8c0d8fbac180aaba30c8a3cdda0770cd8427 (patch)
treef08d225e1f8931634c82cfeb18fa3ad5fa7e664e /package/linux/kernel-patches/019-drivers_char_serial_c
parent609fbd1a579f41a8cb6d1029aa5eb86477851d89 (diff)
uncompress patches, requested by Kaloz
git-svn-id: svn://svn.openwrt.org/openwrt/trunk/openwrt@460 3c298f89-4303-0410-b956-a3cf2f4a3e73
Diffstat (limited to 'package/linux/kernel-patches/019-drivers_char_serial_c')
-rw-r--r--package/linux/kernel-patches/019-drivers_char_serial_c37
1 files changed, 37 insertions, 0 deletions
diff --git a/package/linux/kernel-patches/019-drivers_char_serial_c b/package/linux/kernel-patches/019-drivers_char_serial_c
new file mode 100644
index 000000000..56d3fe663
--- /dev/null
+++ b/package/linux/kernel-patches/019-drivers_char_serial_c
@@ -0,0 +1,37 @@
+--- linux-mips-cvs/drivers/char/serial.c 2004-12-27 05:13:43.000000000 +0100
++++ linux-broadcom/drivers/char/serial.c 2005-01-31 13:13:14.000000000 +0100
+@@ -444,6 +444,10 @@
+ return inb(info->port+1);
+ #endif
+ case SERIAL_IO_MEM:
++#ifdef CONFIG_BCM4310
++ readb((unsigned long) info->iomem_base +
++ (UART_SCR<<info->iomem_reg_shift));
++#endif
+ return readb((unsigned long) info->iomem_base +
+ (offset<<info->iomem_reg_shift));
+ default:
+@@ -464,6 +468,9 @@
+ case SERIAL_IO_MEM:
+ writeb(value, (unsigned long) info->iomem_base +
+ (offset<<info->iomem_reg_shift));
++#ifdef CONFIG_BCM4704
++ *((volatile unsigned int *) KSEG1ADDR(0x18000000));
++#endif
+ break;
+ default:
+ outb(value, info->port+offset);
+@@ -5996,6 +6003,13 @@
+ * Divisor, bytesize and parity
+ */
+ state = rs_table + co->index;
++ /*
++ * Safe guard: state structure must have been initialized
++ */
++ if (state->iomem_base == NULL) {
++ printk("!unable to setup serial console!\n");
++ return -1;
++ }
+ if (doflow)
+ state->flags |= ASYNC_CONS_FLOW;
+ info = &async_sercons;