Messages in this thread | | | Subject | Re: [DT-OVERLAY PATCH] of: overlay: print the offending node name on fixup failure | From | Luca Ceresoli <> | Date | Tue, 25 Feb 2020 17:44:22 +0100 |
| |
Hi Geert,
thanks for the very prompt review!
On 25/02/20 12:10, Geert Uytterhoeven wrote: > Hi Luca, > > On Tue, Feb 25, 2020 at 11:42 AM Luca Ceresoli <luca@lucaceresoli.net> wrote: >> When a DT overlay has a fixup node that is not present in the base DT >> __symbols__, this error is printed: >> >> OF: resolver: overlay phandle fixup failed: -22 >> create_overlay: Failed to create overlay (err=-22) >> >> which does not help much in finding the node that caused the problem. >> >> Add a debug print with the name of the fixup node that caused the >> error. The new output is: >> >> OF: resolver: node gpio9 not found in base DT, fixup failed >> OF: resolver: overlay phandle fixup failed: -22 >> create_overlay: Failed to create overlay (err=-22) >> >> Signed-off-by: Luca Ceresoli <luca@lucaceresoli.net> > > Thanks for your patch! > > Tested-by: Geert Uytterhoeven <geert+renesas@glider.be> > >> NOTE: this patch is not for mainline! > > Why not?
Because I'm dumb. As I'm using the non-mainlined configfs interface I tend to consider the entire overlay code as non-mainlined too. Sending v2 without this comment.
>> --- a/drivers/of/resolver.c >> +++ b/drivers/of/resolver.c >> @@ -321,8 +321,11 @@ int of_resolve_phandles(struct device_node *overlay) >> >> err = of_property_read_string(tree_symbols, >> prop->name, &refpath); >> - if (err) >> + if (err) { >> + pr_err("node %s not found in base DT, fixup failed", >> + prop->name); >> goto out; >> + } >> >> refnode = of_find_node_by_path(refpath); >> if (!refnode) { > > Probably you want to print a helpful message here, too?
I'm doing even more. In v2 I added a specific error message for each error path that does not have one yet, and removed the generic message at the end.
-- Luca
| |