aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorThierry Reding <treding@nvidia.com>2022-10-27 13:26:36 +0200
committerThierry Reding <treding@nvidia.com>2022-10-27 13:26:36 +0200
commit50372bbc4e0f0a96f0e868ce7a928479d6c623aa (patch)
tree1503387cbdcca771a02f4da9d7e3d87d9e07fbf1
parentc088d87606fce653be8bf87b10fa903047f39c4f (diff)
downloadmaint-scripts-50372bbc4e0f0a96f0e868ce7a928479d6c623aa.tar.gz
devicetree: Move parent linkup into library
Signed-off-by: Thierry Reding <treding@nvidia.com>
-rw-r--r--check-sort-order.py6
-rw-r--r--lib/devicetree.py11
2 files changed, 10 insertions, 7 deletions
diff --git a/check-sort-order.py b/check-sort-order.py
index 459ca51..62e11d1 100644
--- a/check-sort-order.py
+++ b/check-sort-order.py
@@ -3,12 +3,6 @@
import pyparsing as pp, sys
from lib import devicetree
-def parent_nodes(tree, parent = None):
- for item in tree:
- if isinstance(item, devicetree.Node):
- item.parent = parent
- parent_nodes(item.children, item)
-
def dump_node(node, indent = 0):
prefix = ' ' * indent
print('%snode: %s' % (prefix, node))
diff --git a/lib/devicetree.py b/lib/devicetree.py
index 770851a..5f69d71 100644
--- a/lib/devicetree.py
+++ b/lib/devicetree.py
@@ -173,7 +173,16 @@ def compile(filename):
#return '\n'.join(lines)
return result.stdout
+def parent_nodes(tree, parent = None):
+ for item in tree:
+ if isinstance(item, Node):
+ item.parent = parent
+ parent_nodes(item.children, item)
+
def load(filename):
dts = compile(filename)
- return DeviceTree.parse_string(dts, parseAll = True)
+ ast = DeviceTree.parse_string(dts, parseAll = True)
+ parent_nodes(ast)
+
+ return ast