diff options
author | wbx <wbx@3c298f89-4303-0410-b956-a3cf2f4a3e73> | 2005-03-26 10:33:32 +0000 |
---|---|---|
committer | wbx <wbx@3c298f89-4303-0410-b956-a3cf2f4a3e73> | 2005-03-26 10:33:32 +0000 |
commit | e69d8c0d8fbac180aaba30c8a3cdda0770cd8427 (patch) | |
tree | f08d225e1f8931634c82cfeb18fa3ad5fa7e664e /package/linux/kernel-patches/019-drivers_char_serial_c | |
parent | 609fbd1a579f41a8cb6d1029aa5eb86477851d89 (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_c | 37 |
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; |