Revert "of: overlay: set node fields from properties when add new overlay node"
authorpopcornmix <popcornmix@gmail.com>
Mon, 10 Jun 2019 14:07:26 +0000 (15:07 +0100)
committerpopcornmix <popcornmix@gmail.com>
Mon, 10 Jun 2019 14:07:26 +0000 (15:07 +0100)
This reverts commit 8bff48328aff10c1e9c134a55337620929e449c2.

drivers/of/dynamic.c
drivers/of/overlay.c

index a09c1c3..45c0b1f 100644 (file)
@@ -205,24 +205,15 @@ static void __of_attach_node(struct device_node *np)
        const __be32 *phandle;
        int sz;
 
-       if (!of_node_check_flag(np, OF_OVERLAY)) {
-               np->name = __of_get_property(np, "name", NULL);
-               np->type = __of_get_property(np, "device_type", NULL);
-               if (!np->name)
-                       np->name = "<NULL>";
-               if (!np->type)
-                       np->type = "<NULL>";
-
-               phandle = __of_get_property(np, "phandle", &sz);
-               if (!phandle)
-                       phandle = __of_get_property(np, "linux,phandle", &sz);
-               if (IS_ENABLED(CONFIG_PPC_PSERIES) && !phandle)
-                       phandle = __of_get_property(np, "ibm,phandle", &sz);
-               if (phandle && (sz >= 4))
-                       np->phandle = be32_to_cpup(phandle);
-               else
-                       np->phandle = 0;
-       }
+       np->name = __of_get_property(np, "name", NULL) ? : "<NULL>";
+       np->type = __of_get_property(np, "device_type", NULL) ? : "<NULL>";
+
+       phandle = __of_get_property(np, "phandle", &sz);
+       if (!phandle)
+               phandle = __of_get_property(np, "linux,phandle", &sz);
+       if (IS_ENABLED(CONFIG_PPC_PSERIES) && !phandle)
+               phandle = __of_get_property(np, "ibm,phandle", &sz);
+       np->phandle = (phandle && (sz >= 4)) ? be32_to_cpup(phandle) : 0;
 
        np->child = NULL;
        np->sibling = np->parent->child;
index b2704ba..9808aae 100644 (file)
@@ -301,11 +301,10 @@ static int add_changeset_property(struct overlay_changeset *ovcs,
        struct property *new_prop = NULL, *prop;
        int ret = 0;
 
-       if (target->in_livetree)
-               if (!of_prop_cmp(overlay_prop->name, "name") ||
-                   !of_prop_cmp(overlay_prop->name, "phandle") ||
-                   !of_prop_cmp(overlay_prop->name, "linux,phandle"))
-                       return 0;
+       if (!of_prop_cmp(overlay_prop->name, "name") ||
+           !of_prop_cmp(overlay_prop->name, "phandle") ||
+           !of_prop_cmp(overlay_prop->name, "linux,phandle"))
+               return 0;
 
        if (target->in_livetree)
                prop = of_find_property(target->np, overlay_prop->name, NULL);
@@ -323,17 +322,12 @@ static int add_changeset_property(struct overlay_changeset *ovcs,
        if (!new_prop)
                return -ENOMEM;
 
-       if (!prop) {
-               if (!target->in_livetree) {
-                       new_prop->next = target->np->deadprops;
-                       target->np->deadprops = new_prop;
-               }
+       if (!prop)
                ret = of_changeset_add_property(&ovcs->cset, target->np,
                                                new_prop);
-       } else {
+       else
                ret = of_changeset_update_property(&ovcs->cset, target->np,
                                                   new_prop);
-       }
 
        if (ret) {
                kfree(new_prop->name);
@@ -388,10 +382,9 @@ static int add_changeset_node(struct overlay_changeset *ovcs,
                struct target *target, struct device_node *node)
 {
        const char *node_kbasename;
-       const __be32 *phandle;
        struct device_node *tchild;
        struct target target_child;
-       int ret = 0, size;
+       int ret = 0;
 
        node_kbasename = kbasename(node->full_name);
 
@@ -405,19 +398,6 @@ static int add_changeset_node(struct overlay_changeset *ovcs,
                        return -ENOMEM;
 
                tchild->parent = target->np;
-               tchild->name = __of_get_property(node, "name", NULL);
-               tchild->type = __of_get_property(node, "device_type", NULL);
-
-               if (!tchild->name)
-                       tchild->name = "<NULL>";
-               if (!tchild->type)
-                       tchild->type = "<NULL>";
-
-               /* ignore obsolete "linux,phandle" */
-               phandle = __of_get_property(node, "phandle", &size);
-               if (phandle && (size == 4))
-                       tchild->phandle = be32_to_cpup(phandle);
-
                of_node_set_flag(tchild, OF_OVERLAY);
 
                ret = of_changeset_attach_node(&ovcs->cset, tchild);