Re: [PATCH 2/2] serial: 8250_ingenic: allow to be independent of SERIAL_8250_CONSOLE

From: Peter Hurley
Date: Tue Oct 27 2015 - 10:20:17 EST


On 10/23/2015 09:31 AM, Masahiro Yamada wrote:
> This UART driver should not depend on the console. They should be
> orthogonal.
>
> Surround the earlycon code with CONFIG_SERIAL_EARLYCON conditional
> and rip off "depends on SERIAL_8250_CONSOLE".

Reviewed-by: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx>

PS - While reviewing this patch, I noticed another problem in the
Ingenic earlycon; see below.

> Signed-off-by: Masahiro Yamada <yamada.masahiro@xxxxxxxxxxxxx>
> ---
>
> Currently, SERIAL_8250_FSL also depends on SERIAL_8250_CONSOLE,
> but I doubt its necessity.
>
>
> drivers/tty/serial/8250/8250_ingenic.c | 2 ++
> drivers/tty/serial/8250/Kconfig | 2 +-
> 2 files changed, 3 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/tty/serial/8250/8250_ingenic.c b/drivers/tty/serial/8250/8250_ingenic.c
> index 7c1e4be..44633ee 100644
> --- a/drivers/tty/serial/8250/8250_ingenic.c
> +++ b/drivers/tty/serial/8250/8250_ingenic.c
> @@ -34,6 +34,7 @@ struct ingenic_uart_data {
>
> #define UART_FCR_UME BIT(4)
>
> +#ifdef CONFIG_SERIAL_EARLYCON


> static struct earlycon_device *early_device;

The earlycon setup should not be saving the earlycon_device *;
see early_8250serial_write() for how to deref from console to port.

Regards,
Peter Hurley


> static uint8_t __init early_in(struct uart_port *port, int offset)
> @@ -126,6 +127,7 @@ OF_EARLYCON_DECLARE(jz4775_uart, "ingenic,jz4775-uart",
> EARLYCON_DECLARE(jz4780_uart, ingenic_early_console_setup);
> OF_EARLYCON_DECLARE(jz4780_uart, "ingenic,jz4780-uart",
> ingenic_early_console_setup);
> +#endif /* CONFIG_SERIAL_EARLYCON */
>
> static void ingenic_uart_serial_out(struct uart_port *p, int offset, int value)
> {
> diff --git a/drivers/tty/serial/8250/Kconfig b/drivers/tty/serial/8250/Kconfig
> index 960da95..6f62934 100644
> --- a/drivers/tty/serial/8250/Kconfig
> +++ b/drivers/tty/serial/8250/Kconfig
> @@ -360,7 +360,7 @@ config SERIAL_8250_UNIPHIER
>
> config SERIAL_8250_INGENIC
> bool "Support for Ingenic SoC serial ports"
> - depends on SERIAL_8250_CONSOLE && OF_FLATTREE
> + depends on OF_FLATTREE
> select LIBFDT
> help
> If you have a system using an Ingenic SoC and wish to make use of
>

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/