summaryrefslogtreecommitdiffstats
path: root/drivers/serial/samsung.h
diff options
context:
space:
mode:
authorThomas Abraham <thomas.ab@samsung.com>2010-01-14 15:05:38 +0900
committerBen Dooks <ben-linux@fluff.org>2010-01-19 17:50:47 +0900
commit51fe52229e3765dc56b8d2dd5df656fbf8a20500 (patch)
tree5d26164280bdd77137df3e3db04069702c182bd2 /drivers/serial/samsung.h
parentbb9b1c772727849051e485a877aa9a4b2d3ac1a1 (diff)
ARM: SAMSUNG: serial: Modify console initialization.
This patch modifies s3c24xx_serial_initconsole function to accept multiple platform UART information structures. This is required on platforms that have differences among the instances of UART ports. As an example, the FIFO sizes could be different for each UART instance and hence multiple platform UART information structures would be needed. This patch also modifies the s3c24xx_console_init macro since it wraps the call to the s3c24xx_serial_initconsole function. Signed-off-by: Thomas Abraham <thomas.ab@samsung.com> Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Diffstat (limited to 'drivers/serial/samsung.h')
-rw-r--r--drivers/serial/samsung.h19
1 files changed, 12 insertions, 7 deletions
diff --git a/drivers/serial/samsung.h b/drivers/serial/samsung.h
index 1fb22343df4..0ac06a07d25 100644
--- a/drivers/serial/samsung.h
+++ b/drivers/serial/samsung.h
@@ -75,19 +75,24 @@ extern int s3c24xx_serial_probe(struct platform_device *dev,
extern int __devexit s3c24xx_serial_remove(struct platform_device *dev);
extern int s3c24xx_serial_initconsole(struct platform_driver *drv,
- struct s3c24xx_uart_info *uart);
+ struct s3c24xx_uart_info **uart);
extern int s3c24xx_serial_init(struct platform_driver *drv,
struct s3c24xx_uart_info *info);
#ifdef CONFIG_SERIAL_SAMSUNG_CONSOLE
-#define s3c24xx_console_init(__drv, __inf) \
-static int __init s3c_serial_console_init(void) \
-{ \
- return s3c24xx_serial_initconsole(__drv, __inf); \
-} \
- \
+#define s3c24xx_console_init(__drv, __inf) \
+static int __init s3c_serial_console_init(void) \
+{ \
+ struct s3c24xx_uart_info *uinfo[CONFIG_SERIAL_SAMSUNG_UARTS]; \
+ int i; \
+ \
+ for (i = 0; i < CONFIG_SERIAL_SAMSUNG_UARTS; i++) \
+ uinfo[i] = __inf; \
+ return s3c24xx_serial_initconsole(__drv, uinfo); \
+} \
+ \
console_initcall(s3c_serial_console_init)
#else