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 <pe...@hurleysoftware.com>

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

> Signed-off-by: Masahiro Yamada <yamada.masah...@socionext.com>
> ---
> 
> 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 majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to