diff mbox

[2/3] serial: xuartps: Enable OF earlycon support

Message ID 23ab10a19b21df2ef17a5bb6ce2a70d2d3fd3551.1455552315.git.michal.simek@xilinx.com (mailing list archive)
State New, archived
Headers show

Commit Message

Michal Simek Feb. 15, 2016, 4:05 p.m. UTC
Support early console setup via DT for all listed compatible strings.

Signed-off-by: Michal Simek <michal.simek@xilinx.com>
---

 drivers/tty/serial/xilinx_uartps.c | 3 +++
 1 file changed, 3 insertions(+)

Comments

Arnd Bergmann Feb. 16, 2016, 11:54 a.m. UTC | #1
On Monday 15 February 2016 17:05:18 Michal Simek wrote:
> Support early console setup via DT for all listed compatible strings.
> 
> Signed-off-by: Michal Simek <michal.simek@xilinx.com>
> ---
> 

I'd suggest we take the whole series through arm-soc, as the third patch
depends on this second one.

Greg, is this ok for you?

	Arnd
Peter Hurley Feb. 16, 2016, 4:33 p.m. UTC | #2
Hi Michal,

On 02/15/2016 08:05 AM, Michal Simek wrote:
> Support early console setup via DT for all listed compatible strings.
> 
> Signed-off-by: Michal Simek <michal.simek@xilinx.com>
> ---
> 
>  drivers/tty/serial/xilinx_uartps.c | 3 +++
>  1 file changed, 3 insertions(+)
> 
> diff --git a/drivers/tty/serial/xilinx_uartps.c b/drivers/tty/serial/xilinx_uartps.c
> index 009e0dbc12d2..6f5657766815 100644
> --- a/drivers/tty/serial/xilinx_uartps.c
> +++ b/drivers/tty/serial/xilinx_uartps.c
> @@ -1094,6 +1094,9 @@ static int __init cdns_early_console_setup(struct earlycon_device *device,
>  	return 0;
>  }
>  EARLYCON_DECLARE(cdns, cdns_early_console_setup);
> +OF_EARLYCON_DECLARE(cdns_a, "xlnx,xuartps", cdns_early_console_setup);
> +OF_EARLYCON_DECLARE(cdns_b, "cdns,uart-r1p8", cdns_early_console_setup);
> +OF_EARLYCON_DECLARE(cdns_c, "cdns,uart-r1p12", cdns_early_console_setup);

Earlycon now shares a common framework in linux-next.

The EARLYCON_DECLARE() can be deleted and the OF_EARLYCON_DECLARE()
can all share the same earlycon name. iow,

-EARLYCON_DECLARE(cdns, cdns_early_console_setup);
+OF_EARLYCON_DECLARE(cdns, "xlnx,xuartps", cdns_early_console_setup);
+OF_EARLYCON_DECLARE(cdns, "cdns,uart-r1p8", cdns_early_console_setup);
+OF_EARLYCON_DECLARE(cdns, "cdns,uart-r1p12", cdns_early_console_setup);

Regards,
Peter Hurley


>  /**
>   * cdns_uart_console_write - perform write operation
>
Michal Simek Feb. 18, 2016, 8:01 a.m. UTC | #3
Hi Peter,

On 16.2.2016 17:33, Peter Hurley wrote:
> Hi Michal,
> 
> On 02/15/2016 08:05 AM, Michal Simek wrote:
>> Support early console setup via DT for all listed compatible strings.
>>
>> Signed-off-by: Michal Simek <michal.simek@xilinx.com>
>> ---
>>
>>  drivers/tty/serial/xilinx_uartps.c | 3 +++
>>  1 file changed, 3 insertions(+)
>>
>> diff --git a/drivers/tty/serial/xilinx_uartps.c b/drivers/tty/serial/xilinx_uartps.c
>> index 009e0dbc12d2..6f5657766815 100644
>> --- a/drivers/tty/serial/xilinx_uartps.c
>> +++ b/drivers/tty/serial/xilinx_uartps.c
>> @@ -1094,6 +1094,9 @@ static int __init cdns_early_console_setup(struct earlycon_device *device,
>>  	return 0;
>>  }
>>  EARLYCON_DECLARE(cdns, cdns_early_console_setup);
>> +OF_EARLYCON_DECLARE(cdns_a, "xlnx,xuartps", cdns_early_console_setup);
>> +OF_EARLYCON_DECLARE(cdns_b, "cdns,uart-r1p8", cdns_early_console_setup);
>> +OF_EARLYCON_DECLARE(cdns_c, "cdns,uart-r1p12", cdns_early_console_setup);
> 
> Earlycon now shares a common framework in linux-next.
> 
> The EARLYCON_DECLARE() can be deleted and the OF_EARLYCON_DECLARE()
> can all share the same earlycon name. iow,
> 
> -EARLYCON_DECLARE(cdns, cdns_early_console_setup);
> +OF_EARLYCON_DECLARE(cdns, "xlnx,xuartps", cdns_early_console_setup);
> +OF_EARLYCON_DECLARE(cdns, "cdns,uart-r1p8", cdns_early_console_setup);
> +OF_EARLYCON_DECLARE(cdns, "cdns,uart-r1p12", cdns_early_console_setup);

I have sent v2 and I have tested it. All looks good. Thanks for pointing
me to that change.
BTW: Is it normal that when earlycon support is enabled that the bootlog
is copied again? All what was printed before bootconsole [xxx] disabled
is printed twice. Or is this just bug in our driver?

Thanks,
Michal
Peter Hurley Feb. 18, 2016, 5:20 p.m. UTC | #4
On 02/18/2016 12:01 AM, Michal Simek wrote:
> BTW: Is it normal that when earlycon support is enabled that the bootlog
> is copied again? All what was printed before bootconsole [xxx] disabled
> is printed twice.

I think it has to do with the dummy console bug w/ OF.

Masahiro Yamada reported this back with 4.4-rc1 [1] but problem occurs before
then as well.

[1] http://www.gossamer-threads.com/lists/linux/kernel/2313050

> Or is this just bug in our driver?

No.

Regards,
Peter Hurley
diff mbox

Patch

diff --git a/drivers/tty/serial/xilinx_uartps.c b/drivers/tty/serial/xilinx_uartps.c
index 009e0dbc12d2..6f5657766815 100644
--- a/drivers/tty/serial/xilinx_uartps.c
+++ b/drivers/tty/serial/xilinx_uartps.c
@@ -1094,6 +1094,9 @@  static int __init cdns_early_console_setup(struct earlycon_device *device,
 	return 0;
 }
 EARLYCON_DECLARE(cdns, cdns_early_console_setup);
+OF_EARLYCON_DECLARE(cdns_a, "xlnx,xuartps", cdns_early_console_setup);
+OF_EARLYCON_DECLARE(cdns_b, "cdns,uart-r1p8", cdns_early_console_setup);
+OF_EARLYCON_DECLARE(cdns_c, "cdns,uart-r1p12", cdns_early_console_setup);
 
 /**
  * cdns_uart_console_write - perform write operation