summaryrefslogtreecommitdiffstats
path: root/arch/mips/loongson/common/serial.c
diff options
context:
space:
mode:
authorWu Zhangjin <wuzhangjin@gmail.com>2009-11-28 07:21:50 +0100
committerRalf Baechle <ralf@linux-mips.org>2009-12-17 02:57:34 +0100
commitc3d8d85019c9e4f6e4f23d194b6432a2c2464372 (patch)
tree644e1cf5e7f215fa6789d96bce9fac7e14666846 /arch/mips/loongson/common/serial.c
parentMIPS: Lemote 2F: Suspend CS5536 MFGPT Timer (diff)
downloadlinux-c3d8d85019c9e4f6e4f23d194b6432a2c2464372.tar.xz
linux-c3d8d85019c9e4f6e4f23d194b6432a2c2464372.zip
MIPS: Loongson: Cleanups of serial port support
This patchs uses a loongson_uart_base variable instead of the uart_base[] array and adds a new kernel option to avoid to compile uart_base.c all the time, which will save a little bit of memory for us. Signed-off-by: Wu Zhangjin <wuzhangjin@gmail.com> Cc: linux-mips@linux-mips.org http://patchwork.linux-mips.org/patch/727/ Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
Diffstat (limited to 'arch/mips/loongson/common/serial.c')
-rw-r--r--arch/mips/loongson/common/serial.c10
1 files changed, 7 insertions, 3 deletions
diff --git a/arch/mips/loongson/common/serial.c b/arch/mips/loongson/common/serial.c
index ea29db099aee..23b66a5f88cb 100644
--- a/arch/mips/loongson/common/serial.c
+++ b/arch/mips/loongson/common/serial.c
@@ -57,12 +57,16 @@ static struct platform_device uart8250_device = {
static int __init serial_init(void)
{
- if (uart8250_data[mips_machtype][0].iotype == UPIO_MEM)
+ unsigned char iotype;
+
+ iotype = uart8250_data[mips_machtype][0].iotype;
+
+ if (UPIO_MEM == iotype)
uart8250_data[mips_machtype][0].membase =
(void __iomem *)_loongson_uart_base;
- else if (uart8250_data[mips_machtype][0].iotype == UPIO_PORT)
+ else if (UPIO_PORT == iotype)
uart8250_data[mips_machtype][0].iobase =
- uart8250_base[mips_machtype] - LOONGSON_PCIIO_BASE;
+ loongson_uart_base - LOONGSON_PCIIO_BASE;
uart8250_device.dev.platform_data = uart8250_data[mips_machtype];