diff options
author | Ben Dooks <ben-linux@fluff.org> | 2008-11-03 14:51:42 -0500 |
---|---|---|
committer | Ben Dooks <ben-linux@fluff.org> | 2008-12-18 11:26:14 -0500 |
commit | bdd4915a9f05ef6b41b51910b199f2668f20d2ef (patch) | |
tree | f8fb786b8a73866af97f9d10a5799bd1d1740586 | |
parent | 03d5e77bb6538d3f253e04ddf0dda9b848552589 (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.c | 2 | ||||
-rw-r--r-- | drivers/serial/samsung.c | 9 |
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 | ||
92 | static int nr_uarts __initdata = 0; | 92 | static int nr_uarts __initdata = 0; |
93 | 93 | ||
94 | static struct s3c2410_uartcfg uart_cfgs[3]; | 94 | static 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 = { | |||
824 | static struct uart_driver s3c24xx_uart_drv = { | 824 | static 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; |