Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752713AbbDDQwY (ORCPT ); Sat, 4 Apr 2015 12:52:24 -0400 Received: from mail.linuxfoundation.org ([140.211.169.12]:54925 "EHLO mail.linuxfoundation.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752351AbbDDQwV (ORCPT ); Sat, 4 Apr 2015 12:52:21 -0400 Date: Sat, 4 Apr 2015 18:52:17 +0200 From: Greg Kroah-Hartman To: Peter Hurley Cc: Jiri Slaby , Andrew Morton , linux-kernel@vger.kernel.org, linux-next@vger.kernel.org, linux-serial@vger.kernel.org, Rob Herring , Yinghai Lu Subject: Re: [PATCH v3] earlycon: 8250: Fix command line regression Message-ID: <20150404165217.GA26861@kroah.com> References: <1428105875-4038-1-git-send-email-peter@hurleysoftware.com> <1428157650-16418-1-git-send-email-peter@hurleysoftware.com> <20150404160931.GC19278@kroah.com> <55200FF2.6070206@hurleysoftware.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <55200FF2.6070206@hurleysoftware.com> User-Agent: Mutt/1.5.23 (2014-03-12) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 5079 Lines: 112 On Sat, Apr 04, 2015 at 12:23:14PM -0400, Peter Hurley wrote: > On 04/04/2015 12:09 PM, Greg Kroah-Hartman wrote: > > On Sat, Apr 04, 2015 at 10:27:30AM -0400, Peter Hurley wrote: > >> Restore undocumented behavior of kernel command line parameters of > >> the forms: > >> console=uart[8250],io|mmio|mmio32,[,options] > >> console=uart[8250],[,options] > >> where 'options' have not been specified; in this case, the hardware > >> is assumed to be initialized. > >> > >> Document the required behavior of the original implementation. > >> > >> Fixes: c7cef0a84912cab3c9df8 ("console: Add extensible console matching") > >> Reported-by: Yinghai Lu > >> Signed-off-by: Peter Hurley > >> --- > >> > >> v3: Fixed automatic console to port line settings initialization; > >> open-coded serial8250_console_setup() so the baud can be probed; > >> added sha reference in commit log > >> > >> v2: Fixed regression which allowed "console=uart1337,..." to start a > >> console (but not an earlycon) > >> + fixed earlycon= documentation related required behavior fixed by > >> this patch > >> > >> Documentation/kernel-parameters.txt | 18 ++++++++++++++--- > >> drivers/tty/serial/8250/8250_core.c | 38 +++++++++++++++++++++++++++++++++--- > >> drivers/tty/serial/8250/8250_early.c | 19 ------------------ > >> 3 files changed, 50 insertions(+), 25 deletions(-) > >> > >> diff --git a/Documentation/kernel-parameters.txt b/Documentation/kernel-parameters.txt > >> index bfcb1a6..1facf0b 100644 > >> --- a/Documentation/kernel-parameters.txt > >> +++ b/Documentation/kernel-parameters.txt > >> @@ -713,10 +713,18 @@ bytes respectively. Such letter suffixes can also be entirely omitted. > >> > >> uart[8250],io,[,options] > >> uart[8250],mmio,[,options] > >> + uart[8250],mmio32,[,options] > >> + uart[8250],0x[,options] > >> Start an early, polled-mode console on the 8250/16550 > >> UART at the specified I/O port or MMIO address, > >> - switching to the matching ttyS device later. The > >> - options are the same as for ttyS, above. > >> + switching to the matching ttyS device later. > >> + MMIO inter-register address stride is either 8-bit > >> + (mmio) or 32-bit (mmio32). > >> + If none of [io|mmio|mmio32], is assumed to be > >> + equivalent to 'mmio'. 'options' are specified in the > >> + same format described for ttyS above; if unspecified, > >> + the h/w is not re-initialized. > >> + > >> hvc Use the hypervisor console device . This is for > >> both Xen and PowerPC hypervisors. > >> > >> @@ -944,11 +952,15 @@ bytes respectively. Such letter suffixes can also be entirely omitted. > >> uart[8250],io,[,options] > >> uart[8250],mmio,[,options] > >> uart[8250],mmio32,[,options] > >> + uart[8250],0x[,options] > >> Start an early, polled-mode console on the 8250/16550 > >> UART at the specified I/O port or MMIO address. > >> MMIO inter-register address stride is either 8-bit > >> (mmio) or 32-bit (mmio32). > >> - The options are the same as for ttyS, above. > >> + If none of [io|mmio|mmio32], is assumed to be > >> + equivalent to 'mmio'. 'options' are specified in the > >> + same format described for "console=ttyS"; if > >> + unspecified, the h/w is not initialized. > >> > >> pl011, > >> Start an early, polled-mode console on a pl011 serial > >> diff --git a/drivers/tty/serial/8250/8250_core.c b/drivers/tty/serial/8250/8250_core.c > >> index e0fb5f0..f59c7a0 100644 > >> --- a/drivers/tty/serial/8250/8250_core.c > >> +++ b/drivers/tty/serial/8250/8250_core.c > >> @@ -3447,6 +3447,22 @@ static int univ8250_console_setup(struct console *co, char *options) > >> return serial8250_console_setup(up, options); > >> } > >> > >> +/* FIXME: this is broken on most other 8250 h/w */ > > > > What do you mean by "most other"? What hardware does this work for? > > What is it broken for? What is someone supposed to think/do with this > > comment? > > It's a direct copy of the existing behavior for 8250 earlycon, which is > broken for h/w with non-standard divisor registers. That's basically > _every_ new design, because that's what vendors need to extend to support > modern bitrates. > > Affected h/w that I know of includes: 8250_dw, exar xr17v35 cards, omap8250, > omap15xx, intel byt, intel mid. > > But it was already broken for these and so not a regression. Sorry, I know the function is a copy, you haven't broken anything that wasn't already broken. I see this comment as a "rant", but we might as well turn that "rant" into something descriptive to let other people know what is really going on here. Sound reasonable? thanks, greg k-h -- 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/