of: property: Fix the semantics of of_is_ancestor_of()
authorSaravana Kannan <saravanak@google.com>
Wed, 20 Nov 2019 08:02:29 +0000 (00:02 -0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 21 Nov 2019 12:01:15 +0000 (13:01 +0100)
The of_is_ancestor_of() function was renamed from of_link_is_valid()
based on review feedback. The rename meant the semantics of the function
had to be inverted, but this was missed in the earlier patch.

So, fix the semantics of of_is_ancestor_of() and invert the conditional
expressions where it is used.

Fixes: a3e1d1a7f5fc ("of: property: Add functional dependency link from DT bindings")
Signed-off-by: Saravana Kannan <saravanak@google.com>
Link: https://lore.kernel.org/r/20191120080230.16007-1-saravanak@google.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/of/property.c

index 0fa0469..3c75dd2 100644 (file)
@@ -993,11 +993,11 @@ static bool of_is_ancestor_of(struct device_node *test_ancestor,
        while (child) {
                if (child == test_ancestor) {
                        of_node_put(child);
-                       return false;
+                       return true;
                }
                child = of_get_next_parent(child);
        }
-       return true;
+       return false;
 }
 
 /**
@@ -1043,7 +1043,7 @@ static int of_link_to_phandle(struct device *dev, struct device_node *sup_np,
         * descendant nodes. By definition, a child node can't be a functional
         * dependency for the parent node.
         */
-       if (!of_is_ancestor_of(dev->of_node, sup_np)) {
+       if (of_is_ancestor_of(dev->of_node, sup_np)) {
                dev_dbg(dev, "Not linking to %pOFP - is descendant\n", sup_np);
                of_node_put(sup_np);
                return -EINVAL;