OSDN Git Service

sh: sh-sci: Fix double initialization by serial_console_setup
authorNobuhiro Iwamatsu <nobuhiro.iwamatsu.yj@renesas.com>
Thu, 24 Mar 2011 02:20:56 +0000 (02:20 +0000)
committerPaul Mundt <lethal@linux-sh.org>
Thu, 31 Mar 2011 05:33:24 +0000 (14:33 +0900)
The driver is initialized in a state with an unknown value by
serial_console_setup. And initialization fails.

This is caused by the initialization by sci_console_init.
This function does not seem to be necessary for the present sh-sci driver.

Signed-off-by: Nobuhiro Iwamatsu <nobuhiro.iwamatsu.yj@renesas.com>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
drivers/tty/serial/sh-sci.c

index 264209c..4e530a5 100644 (file)
@@ -1872,13 +1872,6 @@ static struct console serial_console = {
        .data           = &sci_uart_driver,
 };
 
-static int __init sci_console_init(void)
-{
-       register_console(&serial_console);
-       return 0;
-}
-console_initcall(sci_console_init);
-
 static struct console early_serial_console = {
        .name           = "early_ttySC",
        .write          = serial_console_write,
@@ -1907,18 +1900,18 @@ static int __devinit sci_probe_earlyprintk(struct platform_device *pdev)
        register_console(&early_serial_console);
        return 0;
 }
+
+#define SCI_CONSOLE    (&serial_console)
+
 #else
 static inline int __devinit sci_probe_earlyprintk(struct platform_device *pdev)
 {
        return -EINVAL;
 }
-#endif /* CONFIG_SERIAL_SH_SCI_CONSOLE */
 
-#if defined(CONFIG_SERIAL_SH_SCI_CONSOLE)
-#define SCI_CONSOLE    (&serial_console)
-#else
-#define SCI_CONSOLE    0
-#endif
+#define SCI_CONSOLE    NULL
+
+#endif /* CONFIG_SERIAL_SH_SCI_CONSOLE */
 
 static char banner[] __initdata =
        KERN_INFO "SuperH SCI(F) driver initialized\n";