Re: [RFC 0/5] of: Automatic console registration cleanups

From: Grant Likely
Date: Fri Mar 28 2014 - 19:51:17 EST


On Fri, 28 Mar 2014 13:58:36 -0700, Christoffer Dall <christoffer.dall@xxxxxxxxxx> wrote:
> On Fri, Mar 28, 2014 at 02:19:23PM -0500, Rob Herring wrote:
> > On Fri, Mar 28, 2014 at 1:56 PM, Olof Johansson <olof@xxxxxxxxx> wrote:
> > > On Fri, Mar 28, 2014 at 09:08:00AM -0700, Grant Likely wrote:
> > >> Hi all,
> > >>
> > >> This is a series that I've been playing with over the last few days to
> > >> clean up the selection of default console devices when using the device
> > >> tree. The device tree defines a way of specifying the console by using a
> > >> "stdout-path" property in the /chosen node, but very few drivers
> > >> actually attempt to use that data, and so for most platforms there needs
> > >> to be a "console=" line in the command line if a serial port is intended
> > >> to be used as the console.
> > >>
> > >> With this series, if there is a /chosen/stdout-path property, and if
> > >> that property points to a serial port node, then when the serial driver
> > >> registers the port, the core uart_add_one_port() function will notice
> > >> and if no console= argument was provided then add it as a preferred
> > >> console.
> > >>
> > >> I've not tested this very extensively yet, but I want to get some
> > >> feedback before I go further.
> > >>
> > >> The one downside with this approach is that it doesn't do anything for
> > >> early console setup. That still needs to be added on a per-driver basis,
> > >> but at least it shouldn't conflict with this approach.
> >
> > I'm working on the early aspect. I've got things working with either
> > command line (which I sent out recently) and with parsing the FDT
> > (which I haven't sent out yet).
> >
> > > Looks sane to me (as discussed in person). I gave it a run on PWRficient with
> > > and without console= line (8250-based uart), and it behaved as expected.
> > >
> > > A couple of nits on the series, replied to two of the patches.
> > >
> > > I'll give it a run through the board farm here too, but I'll keep console=
> > > bootargs there for those boots at this time, too much to change to take it out
> > > everywhere. :-)
> >
> > It would be good to know if removing console= causes userspace any
> > issues. For example, if getty's were setup based on console params. I
> > know ubuntu does some detection of serial ports, but I don't recall
> > what it looks at. Hopefully it's just checking /dev nodes.
> >
> In Ubuntu, recent versions at least, it's all just hardcoded in
> /etc/init/*.conf files. The Linaro OE FS does check /proc/cmdline for
> console= in there - not sure if we care, or at least we can have it
> fixed quickly.

For real hardware using a serial console, I think we want to fix this.
Right my embedded rootfs (buildroot) isn't portable between machines
only because the getty device gets hard coded. /proc/cmdline doesn't
really solve the problem since it doesn't handle non-cmdline selected
consoles. However, /proc/consoles should do the job.

g.

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/