From 9c98d4f2b737e91dc0703cea3cfafe0e069ee22a Mon Sep 17 00:00:00 2001 From: Jordan Yates Date: Wed, 28 Jul 2021 20:01:16 +1000 Subject: [PATCH] scripts: gen_defines: zephyr,linker-region unique Add checks to ensure that `zephyr,linker-region` property values are always globally unique. Signed-off-by: Jordan Yates --- scripts/dts/gen_defines.py | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/scripts/dts/gen_defines.py b/scripts/dts/gen_defines.py index 86e61987c38..7cff885edfa 100755 --- a/scripts/dts/gen_defines.py +++ b/scripts/dts/gen_defines.py @@ -107,6 +107,16 @@ def main(): for node in sorted(edt.nodes, key=lambda node: node.dep_ordinal): node.z_path_id = node_z_path_id(node) + # Check to see if we have duplicate "zephyr,memory-region" property values. + regions = dict() + for node in sorted(edt.nodes, key=lambda node: node.dep_ordinal): + if 'zephyr,memory-region' in node.props: + region = node.props['zephyr,memory-region'].val + if region in regions: + sys.exit(f"ERROR: Duplicate 'zephyr,memory-region' ({region}) properties " + f"between {regions[region].path} and {node.path}") + regions[region] = node + for node in sorted(edt.nodes, key=lambda node: node.dep_ordinal): write_node_comment(node)