Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1256775

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

From Peter Hurley <peter@hurleysoftware.com>
Newsgroups linux.kernel
Subject Re: [PATCH 2/2] serial: 8250_ingenic: allow to be independent of SERIAL_8250_CONSOLE
Date 2015-10-27 15:30 +0100
Message-ID <qodqa-6gG-3@gated-at.bofh.it> (permalink)
References <qmKJA-2QB-9@gated-at.bofh.it> <qmKJA-2QB-13@gated-at.bofh.it>
Organization linux.* mail to news gateway

Show all headers | View raw


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

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

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

Back to linux.kernel | Previous | NextPrevious in thread | Next in thread | Find similar | Unroll thread


Thread

[PATCH 1/2] serial: 8250_ingenic: delete redundant "select SERIAL_EARLYCON" Masahiro Yamada <yamada.masahiro@socionext.com> - 2015-10-23 15:40 +0200
  [PATCH 2/2] serial: 8250_ingenic: allow to be independent of SERIAL_8250_CONSOLE Masahiro Yamada <yamada.masahiro@socionext.com> - 2015-10-23 15:40 +0200
    Re: [PATCH 2/2] serial: 8250_ingenic: allow to be independent of  SERIAL_8250_CONSOLE Peter Hurley <peter@hurleysoftware.com> - 2015-10-27 15:30 +0100
  Re: [PATCH 1/2] serial: 8250_ingenic: delete redundant "select  SERIAL_EARLYCON" Peter Hurley <peter@hurleysoftware.com> - 2015-10-27 15:20 +0100

csiph-web