summaryrefslogtreecommitdiffstats
path: root/drivers/serial
diff options
context:
space:
mode:
authorBen Dooks <ben-linux@fluff.org>2008-11-03 19:51:42 +0000
committerBen Dooks <ben-linux@fluff.org>2008-12-18 16:26:14 +0000
commitbdd4915a9f05ef6b41b51910b199f2668f20d2ef (patch)
treef8fb786b8a73866af97f9d10a5799bd1d1740586 /drivers/serial
parent03d5e77bb6538d3f253e04ddf0dda9b848552589 (diff)
downloadlinux-bdd4915a9f05ef6b41b51910b199f2668f20d2ef.tar.gz
linux-bdd4915a9f05ef6b41b51910b199f2668f20d2ef.tar.bz2
linux-bdd4915a9f05ef6b41b51910b199f2668f20d2ef.zip
[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>
Diffstat (limited to 'drivers/serial')
-rw-r--r--drivers/serial/samsung.c9
1 files changed, 6 insertions, 3 deletions
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 = {
static struct uart_driver s3c24xx_uart_drv = {
.owner = THIS_MODULE,
.dev_name = "s3c2410_serial",
- .nr = 3,
+ .nr = CONFIG_SERIAL_SAMSUNG_UARTS,
.cons = S3C24XX_SERIAL_CONSOLE,
.driver_name = S3C24XX_SERIAL_NAME,
.major = S3C24XX_SERIAL_MAJOR,
@@ -1012,8 +1012,11 @@ static int s3c24xx_serial_init_port(struct s3c24xx_uart_port *ourport,
if (port->mapbase != 0)
return 0;
- if (cfg->hwport > 3)
- return -EINVAL;
+ if (cfg->hwport > CONFIG_SERIAL_SAMSUNG_UARTS) {
+ printk(KERN_ERR "%s: port %d bigger than %d\n", __func__,
+ cfg->hwport, CONFIG_SERIAL_SAMSUNG_UARTS);
+ return -ERANGE;
+ }
/* setup info for port */
port->dev = &platdev->dev;