On Thu, Feb 21, 2019 at 11:51:05AM +0800, Chen-Yu Tsai wrote: > Commit 4038fd90056e ("dtc: add ability to make nodes conditional on them > being referenced") added the new /omit-if-no-ref/ directive to mark > nodes as eligible to be discarded if not referenced. The mechanism to > process this happens before the symbol generation phase. This means even > if symbol generation is requested and the node has a label, it will be > discarded if there are no references to it within the same file. > > This is probably not what people expect. When using symbol generation to > compile base device trees for applying overlays, nodes with labels could > be referenced by the overlays, and therefore should be preserved. Hmm.. actually that does seem like the behaviour I'd expect. Using /omit-if-no-ref/ and then expecting the node to appear without referencing it seems like a user error. > > Check if the node has a label and symbol generation was requested before > dropping the node. > > Signed-off-by: Chen-Yu Tsai <wens@xxxxxxxx> > --- > checks.c | 2 ++ > 1 file changed, 2 insertions(+) > > diff --git a/checks.c b/checks.c > index c0ed45e1c3bc..8ddab9e50889 100644 > --- a/checks.c > +++ b/checks.c > @@ -660,6 +660,8 @@ ERROR(path_references, fixup_path_references, NULL, &duplicate_node_names); > static void fixup_omit_unused_nodes(struct check *c, struct dt_info *dti, > struct node *node) > { > + if (generate_symbols && node->labels) > + return; > if (node->omit_if_unused && !node->is_referenced) > delete_node(node); > } -- David Gibson | I'll have my music baroque, and my code david AT gibson.dropbear.id.au | minimalist, thank you. NOT _the_ _other_ | _way_ _around_! http://www.ozlabs.org/~dgibson
Attachment:
signature.asc
Description: PGP signature