serial: lantiq: Make UART's use as console selectable
authorRahul Tanwar <rahul.tanwar@linux.intel.com>
Mon, 11 May 2020 05:57:26 +0000 (13:57 +0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 15 May 2020 10:22:19 +0000 (12:22 +0200)
Lantiq UART driver can be used for system console. Add changes to
make this driver's use as console selectable/configurable.

Signed-off-by: Rahul Tanwar <rahul.tanwar@linux.intel.com>
Link: https://lore.kernel.org/r/35f2d002ba1cb26192fe4d9b8cdab275300705bc.1589176044.git.rahul.tanwar@linux.intel.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/tty/serial/Kconfig
drivers/tty/serial/lantiq.c

index a3cd1cc..a81b42b 100644 (file)
@@ -1037,10 +1037,17 @@ config SERIAL_LANTIQ
        bool "Lantiq serial driver"
        depends on (LANTIQ || X86) || COMPILE_TEST
        select SERIAL_CORE
+       help
+         Support for UART on Lantiq and Intel SoCs.
+
+config SERIAL_LANTIQ_CONSOLE
+       bool "Console on Lantiq UART"
+       depends on SERIAL_LANTIQ=y
        select SERIAL_CORE_CONSOLE
        select SERIAL_EARLYCON
        help
-         Support for console and UART on Lantiq SoCs.
+         Select this option if you would like to use a Lantiq UART as the
+         system console.
 
 config SERIAL_QE
        tristate "Freescale QUICC Engine serial port support"
index c5e46ff..d3b62a1 100644 (file)
@@ -597,6 +597,7 @@ static const struct uart_ops lqasc_pops = {
        .verify_port =  lqasc_verify_port,
 };
 
+#ifdef CONFIG_SERIAL_LANTIQ_CONSOLE
 static void
 lqasc_console_putchar(struct uart_port *port, int ch)
 {
@@ -705,6 +706,14 @@ lqasc_serial_early_console_setup(struct earlycon_device *device,
 OF_EARLYCON_DECLARE(lantiq, "lantiq,asc", lqasc_serial_early_console_setup);
 OF_EARLYCON_DECLARE(lantiq, "intel,lgm-asc", lqasc_serial_early_console_setup);
 
+#define LANTIQ_SERIAL_CONSOLE  (&lqasc_console)
+
+#else
+
+#define LANTIQ_SERIAL_CONSOLE  NULL
+
+#endif /* CONFIG_SERIAL_LANTIQ_CONSOLE */
+
 static struct uart_driver lqasc_reg = {
        .owner =        THIS_MODULE,
        .driver_name =  DRVNAME,
@@ -712,7 +721,7 @@ static struct uart_driver lqasc_reg = {
        .major =        0,
        .minor =        0,
        .nr =           MAXPORTS,
-       .cons =         &lqasc_console,
+       .cons =         LANTIQ_SERIAL_CONSOLE,
 };
 
 static int fetch_irq_lantiq(struct device *dev, struct ltq_uart_port *ltq_port)