aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRob Herring <robh@kernel.org>2018-07-12 18:20:05 -0600
committerDavid Gibson <david@gibson.dropbear.id.au>2018-07-13 10:38:25 +1000
commit3fe0eeda0b7f275cd01f29773d2ad6b8888d6701 (patch)
tree90b17a0ec189f67958aefed17bb73bb9a74e0c9a
parent853649accebaaa780142916a9c676a3a1fe0f2e5 (diff)
downloaddtc-3fe0eeda0b7f275cd01f29773d2ad6b8888d6701.zip
dtc-3fe0eeda0b7f275cd01f29773d2ad6b8888d6701.tar.gz
dtc-3fe0eeda0b7f275cd01f29773d2ad6b8888d6701.tar.bz2
livetree: Set phandle properties type to uint32
Generated phandle property values are a single cell, so set the type marker to uint32. Otherwise, we default to uint8. Signed-off-by: Rob Herring <robh@kernel.org> Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
-rw-r--r--livetree.c12
1 files changed, 6 insertions, 6 deletions
diff --git a/livetree.c b/livetree.c
index 6e4c367..4ff0679 100644
--- a/livetree.c
+++ b/livetree.c
@@ -594,6 +594,7 @@ struct node *get_node_by_ref(struct node *tree, const char *ref)
cell_t get_node_phandle(struct node *root, struct node *node)
{
static cell_t phandle = 1; /* FIXME: ick, static local */
+ struct data d = empty_data;
if ((node->phandle != 0) && (node->phandle != -1))
return node->phandle;
@@ -603,17 +604,16 @@ cell_t get_node_phandle(struct node *root, struct node *node)
node->phandle = phandle;
+ d = data_add_marker(d, TYPE_UINT32, NULL);
+ d = data_append_cell(d, phandle);
+
if (!get_property(node, "linux,phandle")
&& (phandle_format & PHANDLE_LEGACY))
- add_property(node,
- build_property("linux,phandle",
- data_append_cell(empty_data, phandle)));
+ add_property(node, build_property("linux,phandle", d));
if (!get_property(node, "phandle")
&& (phandle_format & PHANDLE_EPAPR))
- add_property(node,
- build_property("phandle",
- data_append_cell(empty_data, phandle)));
+ add_property(node, build_property("phandle", d));
/* If the node *does* have a phandle property, we must
* be dealing with a self-referencing phandle, which will be