summaryrefslogtreecommitdiffstats
path: root/drivers
diff options
context:
space:
mode:
authorSebastian Hesselbarth <sebastian.hesselbarth@gmail.com>2013-07-02 20:14:39 +0200
committerSascha Hauer <s.hauer@pengutronix.de>2013-07-05 08:26:57 +0200
commitcf31688b6a6981bf6e66ec8587d0ccf3dd72a594 (patch)
treef3ac10f4eb4d3a62a80ca3dd4d8c9cf87abc6f8c /drivers
parentb73f70bb1ab2d80f741f82eccd2f44cd88eaa215 (diff)
downloadbarebox-cf31688b6a6981bf6e66ec8587d0ccf3dd72a594.tar.gz
barebox-cf31688b6a6981bf6e66ec8587d0ccf3dd72a594.tar.xz
OF: base: rename of_free to of_delete_node
of_free is misleading about the actual purpose of the function. There is already a of_create_node counterpart, so rename of_free to of_create_node and update all users accordingly. Signed-off-by: Sebastian Hesselbarth <sebastian.hesselbarth@gmail.com> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Diffstat (limited to 'drivers')
-rw-r--r--drivers/of/base.c65
-rw-r--r--drivers/of/fdt.c2
2 files changed, 33 insertions, 34 deletions
diff --git a/drivers/of/base.c b/drivers/of/base.c
index 1cf7a5f37e..e9f1f79324 100644
--- a/drivers/of/base.c
+++ b/drivers/of/base.c
@@ -1549,39 +1549,6 @@ int of_add_memory(struct device_node *node, bool dump)
return 0;
}
-void of_free(struct device_node *node)
-{
- struct device_node *n, *nt;
- struct property *p, *pt;
- struct device_d *dev;
-
- if (!node)
- return;
-
- list_for_each_entry_safe(p, pt, &node->properties, list)
- of_delete_property(p);
-
- list_for_each_entry_safe(n, nt, &node->children, parent_list) {
- of_free(n);
- }
-
- if (node->parent) {
- list_del(&node->parent_list);
- list_del(&node->list);
- }
-
- dev = of_find_device_by_node(node);
- if (dev)
- dev->device_node = NULL;
-
- free(node->name);
- free(node->full_name);
- free(node);
-
- if (node == root_node)
- of_set_root_node(NULL);
-}
-
static void __of_parse_phandles(struct device_node *node)
{
struct device_node *n;
@@ -1679,6 +1646,38 @@ out:
return dn;
}
+void of_delete_node(struct device_node *node)
+{
+ struct device_node *n, *nt;
+ struct property *p, *pt;
+ struct device_d *dev;
+
+ if (!node)
+ return;
+
+ list_for_each_entry_safe(p, pt, &node->properties, list)
+ of_delete_property(p);
+
+ list_for_each_entry_safe(n, nt, &node->children, parent_list)
+ of_delete_node(n);
+
+ if (node->parent) {
+ list_del(&node->parent_list);
+ list_del(&node->list);
+ }
+
+ dev = of_find_device_by_node(node);
+ if (dev)
+ dev->device_node = NULL;
+
+ free(node->name);
+ free(node->full_name);
+ free(node);
+
+ if (node == root_node)
+ of_set_root_node(NULL);
+}
+
int of_device_is_stdout_path(struct device_d *dev)
{
struct device_node *dn;
diff --git a/drivers/of/fdt.c b/drivers/of/fdt.c
index afaa4e0f51..76d6bb1594 100644
--- a/drivers/of/fdt.c
+++ b/drivers/of/fdt.c
@@ -211,7 +211,7 @@ struct device_node *of_unflatten_dtb(struct device_node *root, void *infdt)
}
}
err:
- of_free(root);
+ of_delete_node(root);
return ERR_PTR(ret);
}