[PATCH v4 10/11] of: earlycon: Log more helpful message if stdout-path node not found

From: Peter Hurley
Date: Tue Jan 12 2016 - 14:43:11 EST


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).

Signed-off-by: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx>
---
drivers/of/fdt.c | 9 ++++++---
1 file changed, 6 insertions(+), 3 deletions(-)

diff --git a/drivers/of/fdt.c b/drivers/of/fdt.c
index 918809e..e2295b2 100644
--- a/drivers/of/fdt.c
+++ b/drivers/of/fdt.c
@@ -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])
--
2.7.0