of: earlycon: Log more helpful message if stdout-path node not found
authorPeter Hurley <peter@hurleysoftware.com>
Sat, 16 Jan 2016 23:23:48 +0000 (15:23 -0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sun, 7 Feb 2016 06:07:37 +0000 (22:07 -0800)
Earlycon may fail to initialize for a variety of reasons, most of
which log the default early param message. If the stdout-path node is
not found, log the path which was not found (and suppress the
default early param message).

Acked-by: Rob Herring <robh@kernel.org>
Signed-off-by: Peter Hurley <peter@hurleysoftware.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/of/fdt.c

index 918809e6f9131d0584f352c4c43e86c9d58b29e4..e2295b2c983673e862e76d3b8109449c99b2bf03 100644 (file)
@@ -820,11 +820,14 @@ static int __init early_init_dt_scan_chosen_serial(void)
        q = strchrnul(p, ':');
        if (*q != '\0')
                options = q + 1;
+       l = q - p;
 
        /* Get the node specified by stdout-path */
-       offset = fdt_path_offset_namelen(fdt, p, q - p);
-       if (offset < 0)
-               return -ENODEV;
+       offset = fdt_path_offset_namelen(fdt, p, l);
+       if (offset < 0) {
+               pr_warn("earlycon: stdout-path %.*s not found\n", l, p);
+               return 0;
+       }
 
        for (match = __earlycon_table; match < __earlycon_table_end; match++) {
                if (!match->compatible[0])