On Tue, 9 Aug 2016 16:19:37 +0100 Paul Burton <paul.burton@xxxxxxxxxx> wrote: > If a device tree specifies a preferred device for kernel console output > via the stdout-path or linux,stdout-path chosen node properties or the > stdout alias then the kernel ought to honor it & output the kernel > console to that device. As it stands, this isn't the case. Whilst we > parse the stdout-path properties & set an of_stdout variable from > of_alias_scan(), and use that from of_console_check() to determine > whether to add a console device as a preferred console whilst > registering it, we also prefer the first registered console if no other > has been selected at the time of its registration. > > This means that if a console other than the one the device tree selects > via stdout-path is registered first, we will switch to using it & when > the stdout-path console is later registered the call to > add_preferred_console() via of_console_check() is too late to do > anything useful. In practice this seems to mean that we switch to the > dummy console device fairly early & see no further console output: > > Console: colour dummy device 80x25 > console [tty0] enabled > bootconsole [ns16550a0] disabled > > Fix this by not automatically preferring the first registered console if > one is specified by the device tree. This allows consoles to be > registered but not enabled, and once the driver for the console selected > by stdout-path calls of_console_check() the driver will be added to the > list of preferred consoles before any other console has been enabled. > When that console is then registered via register_console() it will be > enabled as expected. Looks reasonable. Could you please do `grep -r stdout-path Documentation' and check that everything therein is complete, accurate and necessary? -- To unsubscribe from this list: send the line "unsubscribe devicetree" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html