tty: serial: meson: enable console as module
authorKevin Hilman <khilman@baylibre.com>
Fri, 11 Dec 2020 00:57:44 +0000 (16:57 -0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 11 Dec 2020 16:14:22 +0000 (17:14 +0100)
Enable serial driver to be built as a module.  To do so, init the
console support on driver/module load instead of using
console_initcall().

Signed-off-by: Kevin Hilman <khilman@baylibre.com>
Link: https://lore.kernel.org/r/20201211005744.12855-1-khilman@baylibre.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/tty/serial/Kconfig
drivers/tty/serial/meson_uart.c

index 2d73b82..12d71d5 100644 (file)
@@ -206,7 +206,7 @@ config SERIAL_MESON
 
 config SERIAL_MESON_CONSOLE
        bool "Support for console on meson"
-       depends on SERIAL_MESON=y
+       depends on SERIAL_MESON
        select SERIAL_CORE_CONSOLE
        select SERIAL_EARLYCON
        help
index d2c08b7..69eeef9 100644 (file)
@@ -604,7 +604,6 @@ static int __init meson_serial_console_init(void)
        register_console(&meson_serial_console);
        return 0;
 }
-console_initcall(meson_serial_console_init);
 
 static void meson_serial_early_console_write(struct console *co,
                                             const char *s,
@@ -634,6 +633,9 @@ OF_EARLYCON_DECLARE(meson, "amlogic,meson-ao-uart",
 
 #define MESON_SERIAL_CONSOLE   (&meson_serial_console)
 #else
+static int __init meson_serial_console_init(void) {
+       return 0;
+}
 #define MESON_SERIAL_CONSOLE   NULL
 #endif
 
@@ -824,6 +826,10 @@ static int __init meson_uart_init(void)
 {
        int ret;
 
+       ret = meson_serial_console_init();
+       if (ret)
+               return ret;
+       
        ret = uart_register_driver(&meson_uart_driver);
        if (ret)
                return ret;