aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBen Dooks <ben-linux@fluff.org>2008-11-03 14:51:42 -0500
committerBen Dooks <ben-linux@fluff.org>2008-12-18 11:26:14 -0500
commitbdd4915a9f05ef6b41b51910b199f2668f20d2ef (patch)
treef8fb786b8a73866af97f9d10a5799bd1d1740586
parent03d5e77bb6538d3f253e04ddf0dda9b848552589 (diff)
[ARM] S3C: Update CONFIG_SERIAL_SAMSUNG_UARTS handling
Fix the usage of CONFIG_SERIAL_SAMSUNG_UARTS in several places in the kernel where it had been missed. This finishes fixing a long standing issue where S3C2443 and S3C64XX could not use the 4th UART Signed-off-by: Ben Dooks <ben-linux@fluff.org>
-rw-r--r--arch/arm/plat-s3c/init.c2
-rw-r--r--drivers/serial/samsung.c9
2 files changed, 7 insertions, 4 deletions
diff --git a/arch/arm/plat-s3c/init.c b/arch/arm/plat-s3c/init.c
index 85f086ee930a..da8d089f6dbc 100644
--- a/arch/arm/plat-s3c/init.c
+++ b/arch/arm/plat-s3c/init.c
@@ -91,7 +91,7 @@ void __init s3c24xx_init_clocks(int xtal)
91 91
92static int nr_uarts __initdata = 0; 92static int nr_uarts __initdata = 0;
93 93
94static struct s3c2410_uartcfg uart_cfgs[3]; 94static struct s3c2410_uartcfg uart_cfgs[CONFIG_SERIAL_SAMSUNG_UARTS];
95 95
96/* s3c24xx_init_uartdevs 96/* s3c24xx_init_uartdevs
97 * 97 *
diff --git a/drivers/serial/samsung.c b/drivers/serial/samsung.c
index ec873af26101..dc7e7ebad236 100644
--- a/drivers/serial/samsung.c
+++ b/drivers/serial/samsung.c
@@ -824,7 +824,7 @@ static struct uart_ops s3c24xx_serial_ops = {
824static struct uart_driver s3c24xx_uart_drv = { 824static struct uart_driver s3c24xx_uart_drv = {
825 .owner = THIS_MODULE, 825 .owner = THIS_MODULE,
826 .dev_name = "s3c2410_serial", 826 .dev_name = "s3c2410_serial",
827 .nr = 3, 827 .nr = CONFIG_SERIAL_SAMSUNG_UARTS,
828 .cons = S3C24XX_SERIAL_CONSOLE, 828 .cons = S3C24XX_SERIAL_CONSOLE,
829 .driver_name = S3C24XX_SERIAL_NAME, 829 .driver_name = S3C24XX_SERIAL_NAME,
830 .major = S3C24XX_SERIAL_MAJOR, 830 .major = S3C24XX_SERIAL_MAJOR,
@@ -1012,8 +1012,11 @@ static int s3c24xx_serial_init_port(struct s3c24xx_uart_port *ourport,
1012 if (port->mapbase != 0) 1012 if (port->mapbase != 0)
1013 return 0; 1013 return 0;
1014 1014
1015 if (cfg->hwport > 3) 1015 if (cfg->hwport > CONFIG_SERIAL_SAMSUNG_UARTS) {
1016 return -EINVAL; 1016 printk(KERN_ERR "%s: port %d bigger than %d\n", __func__,
1017 cfg->hwport, CONFIG_SERIAL_SAMSUNG_UARTS);
1018 return -ERANGE;
1019 }
1017 1020
1018 /* setup info for port */ 1021 /* setup info for port */
1019 port->dev = &platdev->dev; 1022 port->dev = &platdev->dev;