summaryrefslogtreecommitdiffstats
path: root/scripts/dtc/livetree.c
diff options
context:
space:
mode:
authorRob Herring <robh@kernel.org>2018-05-08 14:07:49 -0400
committerRob Herring <robh@kernel.org>2018-05-14 20:45:01 -0400
commit50aafd60898a8b3edf2f60e014a8288da3b2e5e3 (patch)
tree9bbb9713e3cc6e0c2e3cea71943e9338b937e0b7 /scripts/dtc/livetree.c
parent9601000cd57e395b56642596903f59d61d91e176 (diff)
scripts/dtc: Update to upstream version v1.4.6-21-g84e414b0b5bc
This adds the following commits from upstream: 84e414b0b5bc tests: Add a test case for the omit-if-no-ref keyword 4038fd90056e dtc: add ability to make nodes conditional on them being referenced e1f139ea4900 checks: drop warning for missing PCI bridge bus-range f4eba68d89ee checks: Print duplicate node name instead of parent name 46df1fb1b211 .travis.yml: Run valgrind checks via Travis 14a3002a1aee tests: Update valgrind suppressions for sw_tree1 02c5fe9debc0 tests: Remove valgrind error from tests/get_path df536831d02c checks: add graph binding checks 2347c96edcbe checks: add a check for duplicate unit-addresses of child nodes 8f1b35f88395 Correct overlay syntactic sugar for generating target-path fragments afbddcd418fb Suppress warnings on overlay fragments 119e27300359 Improve tests for dtc overlay generation Signed-off-by: Rob Herring <robh@kernel.org>
Diffstat (limited to 'scripts/dtc/livetree.c')
-rw-r--r--scripts/dtc/livetree.c26
1 files changed, 23 insertions, 3 deletions
diff --git a/scripts/dtc/livetree.c b/scripts/dtc/livetree.c
index 57b7db2ed153..6e4c367f54b3 100644
--- a/scripts/dtc/livetree.c
+++ b/scripts/dtc/livetree.c
@@ -134,6 +134,20 @@ struct node *name_node(struct node *node, char *name)
134 return node; 134 return node;
135} 135}
136 136
137struct node *omit_node_if_unused(struct node *node)
138{
139 node->omit_if_unused = 1;
140
141 return node;
142}
143
144struct node *reference_node(struct node *node)
145{
146 node->is_referenced = 1;
147
148 return node;
149}
150
137struct node *merge_nodes(struct node *old_node, struct node *new_node) 151struct node *merge_nodes(struct node *old_node, struct node *new_node)
138{ 152{
139 struct property *new_prop, *old_prop; 153 struct property *new_prop, *old_prop;
@@ -224,10 +238,16 @@ struct node * add_orphan_node(struct node *dt, struct node *new_node, char *ref)
224 struct data d = empty_data; 238 struct data d = empty_data;
225 char *name; 239 char *name;
226 240
227 d = data_add_marker(d, REF_PHANDLE, ref); 241 if (ref[0] == '/') {
228 d = data_append_integer(d, 0xffffffff, 32); 242 d = data_append_data(d, ref, strlen(ref) + 1);
229 243
230 p = build_property("target", d); 244 p = build_property("target-path", d);
245 } else {
246 d = data_add_marker(d, REF_PHANDLE, ref);
247 d = data_append_integer(d, 0xffffffff, 32);
248
249 p = build_property("target", d);
250 }
231 251
232 xasprintf(&name, "fragment@%u", 252 xasprintf(&name, "fragment@%u",
233 next_orphan_fragment++); 253 next_orphan_fragment++);