Commit ea7d3fd8 authored by Rahul Tanwar's avatar Rahul Tanwar Committed by Greg Kroah-Hartman

serial: lantiq: Make UART's use as console selectable

Lantiq UART driver can be used for system console. Add changes to
make this driver's use as console selectable/configurable.
Signed-off-by: default avatarRahul Tanwar <rahul.tanwar@linux.intel.com>
Link: https://lore.kernel.org/r/35f2d002ba1cb26192fe4d9b8cdab275300705bc.1589176044.git.rahul.tanwar@linux.intel.comSigned-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent cf9c9445
...@@ -1037,10 +1037,17 @@ config SERIAL_LANTIQ ...@@ -1037,10 +1037,17 @@ config SERIAL_LANTIQ
bool "Lantiq serial driver" bool "Lantiq serial driver"
depends on (LANTIQ || X86) || COMPILE_TEST depends on (LANTIQ || X86) || COMPILE_TEST
select SERIAL_CORE 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_CORE_CONSOLE
select SERIAL_EARLYCON select SERIAL_EARLYCON
help 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 config SERIAL_QE
tristate "Freescale QUICC Engine serial port support" tristate "Freescale QUICC Engine serial port support"
......
...@@ -597,6 +597,7 @@ static const struct uart_ops lqasc_pops = { ...@@ -597,6 +597,7 @@ static const struct uart_ops lqasc_pops = {
.verify_port = lqasc_verify_port, .verify_port = lqasc_verify_port,
}; };
#ifdef CONFIG_SERIAL_LANTIQ_CONSOLE
static void static void
lqasc_console_putchar(struct uart_port *port, int ch) lqasc_console_putchar(struct uart_port *port, int ch)
{ {
...@@ -705,6 +706,14 @@ lqasc_serial_early_console_setup(struct earlycon_device *device, ...@@ -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, "lantiq,asc", lqasc_serial_early_console_setup);
OF_EARLYCON_DECLARE(lantiq, "intel,lgm-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 = { static struct uart_driver lqasc_reg = {
.owner = THIS_MODULE, .owner = THIS_MODULE,
.driver_name = DRVNAME, .driver_name = DRVNAME,
...@@ -712,7 +721,7 @@ static struct uart_driver lqasc_reg = { ...@@ -712,7 +721,7 @@ static struct uart_driver lqasc_reg = {
.major = 0, .major = 0,
.minor = 0, .minor = 0,
.nr = MAXPORTS, .nr = MAXPORTS,
.cons = &lqasc_console, .cons = LANTIQ_SERIAL_CONSOLE,
}; };
static int fetch_irq_lantiq(struct device *dev, struct ltq_uart_port *ltq_port) static int fetch_irq_lantiq(struct device *dev, struct ltq_uart_port *ltq_port)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment