of: property: Fix create device links for all child-supplier dependencies
authorNicolas Saenz Julienne <nsaenzjulienne@suse.de>
Mon, 20 Apr 2020 12:01:01 +0000 (14:01 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 24 Jun 2020 15:48:37 +0000 (17:48 +0200)
commite58c0f4bed26e7041d8fc475e063f58d64324297
tree17276f2e4e09d79399aad968b95116bfc1756066
parent95298fff3b1e716732d853e62ec911727bd529e3
of: property: Fix create device links for all child-supplier dependencies

[ Upstream commit ed3655729182a59b9bef1b564c6fc2dcbbbe954e ]

Upon adding a new device from a DT node, we scan its properties and its
children's properties in order to create a consumer/supplier
relationship between the device and the property provider.

That said, it's possible for some of the node's children to be disabled,
which will create links that'll never be fulfilled.

To get around this, use the for_each_available_child_of_node() function
instead of for_each_available_node() when iterating over the node's
children.

Fixes: d4387cd11741 ("of: property: Create device links for all child-supplier depencencies")
Signed-off-by: Nicolas Saenz Julienne <nsaenzjulienne@suse.de>
Reviewed-by: Saravana Kannan <saravanak@google.com>
Signed-off-by: Rob Herring <robh@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/of/property.c