of/fdt: fix aliases with baudrate in earlycon

Many boards use an alias in the stdout-path specification along
with console options after a colon (e.g. serial0:115200n8). When
using earlycon, this specification currently does not work. While
fdt_path_offset supports alias resolution, it does not remove the
console options by itself. Use the fdt_path_offset_namelen variant
and provide the length of the alias to enable aliases with console
options in the stdout-path.

Signed-off-by: Stefan Agner <stefan@agner.ch>
Signed-off-by: Rob Herring <robh@kernel.org>
This commit is contained in:
Stefan Agner 2015-10-10 01:29:30 -07:00 committed by Rob Herring
parent 191b77c361
commit 6296ad9e33
1 changed files with 4 additions and 1 deletions

View File

@ -813,8 +813,11 @@ static int __init early_init_dt_scan_chosen_serial(void)
if (!p || !l)
return -ENOENT;
/* Remove console options if present */
l = strchrnul(p, ':') - p;
/* Get the node specified by stdout-path */
offset = fdt_path_offset(fdt, p);
offset = fdt_path_offset_namelen(fdt, p, l);
if (offset < 0)
return -ENODEV;