On Thu, Feb 21, 2019 at 12:10:08PM +0800, Chen-Yu Tsai wrote: > On Thu, Feb 21, 2019 at 12:03 PM David Gibson > <david@xxxxxxxxxxxxxxxxxxxxx> wrote: > > > > 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. > > I suppose the use-case we're looking at is keeping the size small for > standard blobs, but having the nodes available when targeting overlay > uses. We're currently targeting pinctrl nodes for this. There are a > whole lot of muxing options for every SoC, but a board will only use > a small set of them. But with overlays, we'd want all the options to > be available so the overlays don't have to redefine them again. > > Not sure if this is practical, but it's the use case I had in mind. > Maybe we could come up with some new directive or compiler option? Hm, ok. Maxime, since you introduced omit-if-no-ref in the first place could you chime in on how this compares to your use case? -- 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