diff options
author | Thierry Reding <treding@nvidia.com> | 2022-10-27 13:26:36 +0200 |
---|---|---|
committer | Thierry Reding <treding@nvidia.com> | 2022-10-27 13:26:36 +0200 |
commit | 50372bbc4e0f0a96f0e868ce7a928479d6c623aa (patch) | |
tree | 1503387cbdcca771a02f4da9d7e3d87d9e07fbf1 | |
parent | c088d87606fce653be8bf87b10fa903047f39c4f (diff) | |
download | maint-scripts-50372bbc4e0f0a96f0e868ce7a928479d6c623aa.tar.gz |
devicetree: Move parent linkup into library
Signed-off-by: Thierry Reding <treding@nvidia.com>
-rw-r--r-- | check-sort-order.py | 6 | ||||
-rw-r--r-- | lib/devicetree.py | 11 |
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 |