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

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.com


Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent cf9c9445
Loading
Loading
Loading
Loading
+8 −1
Original line number Original line Diff line number Diff line
@@ -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"
+10 −1
Original line number Original line Diff line number Diff line
@@ -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,
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 = {
	.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)