Re: earlycon: no match?

From: Sascha Hauer
Date: Fri May 08 2015 - 02:34:43 EST


On Thu, May 07, 2015 at 01:22:11PM -0400, Peter Hurley wrote:
> On 05/07/2015 01:09 PM, Maciej W. Rozycki wrote:
> > On Mon, 4 May 2015, Peter Hurley wrote:
> >
> >>>> Since 2007, 'console=' is a early param synonym for 'earlycon='; IOW,
> >>>> the message is new but not the behavior.
> >>>
> >>> "console=" had nothing to do with early param before.
> >>
> >> *Yes, it has* since the commit I referenced in the previous email and
> >> the email before that when I noted that 'console=' and 'earlycon=' are
> >> synonyms if CONFIG_SERIAL_EARLYCON=y, and it has been that way since
> >> 2007.
> >>
> >> The only thing that has changed is that I added a diagnostic; _to repeat_,
> >> the earlycon matching code has always run in this case, only the
> >> diagnostic is new.
> >
> > What's the point of having two parameters as synonyms whose syntax is not
> > compatible to each other in the general case? I'd expect the following
> > cases to be handled:
> >
> > 1. Regular console only (no early console requested) => `console=foo...'.
> >
> > 2. Both early and regular console => `earlycon=blah... console=foo...'.
> >
> > 3. Early console handing over to regular console => `earlycon=blah...'.
>
> 4. Early console only => `earlycon=blah...'
>
> How to distinguish between 3 & 4?

Given that the aliasing only makes sense for console=uart, and
console=uart8250, we can do the following. Not exactly the nicest
code, but only slighty more ugly than what we have now in
do_early_param()

Sascha

--------------------------8<----------------------------