diff options
author | Sascha Hauer <s.hauer@pengutronix.de> | 2021-06-24 10:52:07 +0200 |
---|---|---|
committer | Sascha Hauer <s.hauer@pengutronix.de> | 2021-06-25 09:27:06 +0200 |
commit | 3b93bcd8db01bbe49249b59b0581b3ba375cb96b (patch) | |
tree | 0604686e2c408235c95c72114395af7911353dbe /include | |
parent | e5552d56b569939739c72319f5e10e439fb23cc0 (diff) | |
download | barebox-3b93bcd8db01bbe49249b59b0581b3ba375cb96b.tar.gz barebox-3b93bcd8db01bbe49249b59b0581b3ba375cb96b.tar.xz |
of: Add function to duplicate a device tree
This adds of_dup() to duplicate a device tree. Previously of_copy_node()
was used for this, but of_copy_node() has issues with potentially
duplicated phandle values when the new tree is inserted to an existing
tree, that is when the parent argument of of_copy_node() is non NULL.
All users of of_copy_node() with a NULL parent argument are converted
to of_dup() which is safe to use leaving only the problematic users
of of_copy_node().
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Link: https://lore.barebox.org/20210624085223.14616-3-s.hauer@pengutronix.de
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Diffstat (limited to 'include')
-rw-r--r-- | include/of.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/include/of.h b/include/of.h index d67a40bd19..94eb71190d 100644 --- a/include/of.h +++ b/include/of.h @@ -162,6 +162,7 @@ extern struct device_node *of_create_node(struct device_node *root, const char *path); extern struct device_node *of_copy_node(struct device_node *parent, const struct device_node *other); +extern struct device_node *of_dup(const struct device_node *root); extern void of_delete_node(struct device_node *node); extern const char *of_get_machine_compatible(void); |