1Device Tree Dynamic Resolver Notes 2---------------------------------- 3 4This document describes the implementation of the in-kernel 5Device Tree resolver, residing in drivers/of/resolver.c and is a 6companion document to Documentation/devicetree/dt-object-internal.txt[1] 7 8How the resolver works 9---------------------- 10 11The resolver is given as an input an arbitrary tree compiled with the 12proper dtc option and having a /plugin/ tag. This generates the 13appropriate __fixups__ & __local_fixups__ nodes as described in [1]. 14 15In sequence the resolver works by the following steps: 16 171. Get the maximum device tree phandle value from the live tree + 1. 182. Adjust all the local phandles of the tree to resolve by that amount. 193. Using the __local__fixups__ node information adjust all local references 20 by the same amount. 214. For each property in the __fixups__ node locate the node it references 22 in the live tree. This is the label used to tag the node. 235. Retrieve the phandle of the target of the fixup. 246. For each fixup in the property locate the node:property:offset location 25 and replace it with the phandle value. 26