From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754071AbbJUJJl (ORCPT ); Wed, 21 Oct 2015 05:09:41 -0400 Received: from conssluserg002.nifty.com ([202.248.44.40]:59242 "EHLO conssluserg002-v.nifty.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1751120AbbJUJJi (ORCPT ); Wed, 21 Oct 2015 05:09:38 -0400 X-Nifty-SrcIP: [209.85.160.182] MIME-Version: 1.0 In-Reply-To: <5490668.HV7UIzY6eu@wuerfel> References: <5490668.HV7UIzY6eu@wuerfel> Date: Wed, 21 Oct 2015 18:09:33 +0900 Message-ID: Subject: Re: console vs earlycon ? From: Masahiro Yamada To: Arnd Bergmann Cc: linux-arm-kernel , linux-serial@vger.kernel.org, Peter Hurley , Stefan Agner , Linux Kernel Mailing List Content-Type: text/plain; charset=UTF-8 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hi Arnd, 2015-10-21 17:57 GMT+09:00 Arnd Bergmann : > On Wednesday 21 October 2015 17:21:07 Masahiro Yamada wrote: >> Hi. >> >> >> >> >> I think there are three places where console could be enabled. >> >> [1] earlycon >> >> Each driver entry is declared with >> EARLYCON_DECLARE() or OF_EARLYCON_DECLARE() >> >> >> >> [2] console_init() >> >> Each entry is declared with console_initcall() >> >> >> >> [3] when driver is probed >> The console is usually enabled at this point >> unless some special treatment is done. >> >> >> >> >> My question is about [2]. >> >> I am using 8250-ish UART device. >> >> >> I noticed univ8250_console_match() and univ8250_console_setup() >> always fail at the point of [2] unless early_serial_setup() has been >> called in advance; >> however, it looks like early_serial_setup() is only used for old platforms. >> >> So, console cannot be enabled at [2] for modern platforms. >> >> >> My questions are: >> >> - Given that earlycon can be now available for major architectures such ARM, >> [2] will be deprecated at some point in the future? >> >> - I am implementing earlycon for my own UART driver. >> Is it meaningless to implement console_initcall() as well as earlycon? > > I would still do both. We don't enable earlycon by default at the moment, > and I'd say things should remain working with just console_initcall(). > > How closely related to 8250 is your hardware? If it's not all that different, > you should probably reuse the existing driver. Very close. It is already in the mainline. drivers/tty/serial/8250/8250_uniphier.c The core parts are shared with 8250_core.c I am trying to implement OF_EARLYCON_DECLARE() for that. I was just wondering if console_initcall() should work as well. As I said, I noticed the console_initcall() in 8250_core.c only works on very limited platforms. -- Best Regards Masahiro Yamada