OF: Add a warning in case chosen node is not present
authorNick Kossifidis <mick@ics.forth.gr>
Sat, 10 Nov 2018 00:53:17 +0000 (02:53 +0200)
committerRob Herring <robh@kernel.org>
Mon, 3 Dec 2018 23:41:59 +0000 (17:41 -0600)
On architectures that only get their bootargs through devicetree's
chosen node (such as RISC-V), that node is mandatory. After a
discussion with Rob [1] I'm adding a warning in case chosen node
is not present, to let users know about it.

[1]: https://patchwork.ozlabs.org/patch/984224/#2016136

Signed-off-by: Nick Kossifidis <mick@ics.forth.gr>
Reviewed-by: Palmer Dabbelt <palmer@sifive.com>
Signed-off-by: Rob Herring <robh@kernel.org>
drivers/of/fdt.c

index cd72a41fcab229cc76ac26889a560590e41b776c..7099c652c6a5b367349a28648e57b8f9eca3f222 100644 (file)
@@ -1207,8 +1207,12 @@ bool __init early_init_dt_verify(void *params)
 
 void __init early_init_dt_scan_nodes(void)
 {
+       int rc = 0;
+
        /* Retrieve various information from the /chosen node */
-       of_scan_flat_dt(early_init_dt_scan_chosen, boot_command_line);
+       rc = of_scan_flat_dt(early_init_dt_scan_chosen, boot_command_line);
+       if (!rc)
+               pr_warn("No chosen node found, continuing without\n");
 
        /* Initialize {size,address}-cells info */
        of_scan_flat_dt(early_init_dt_scan_root, NULL);