Thread (1 message) 1 message, 1 author, 2011-06-10

Re: [PATCH v4 1/4] dt: check root nodes for match on of_platform_populate

From: Grant Likely <hidden>
Date: 2011-06-10 21:13:14
Also in: linux-arm-kernel

On Fri, Jun 10, 2011 at 03:48:40PM -0500, Rob Herring wrote:
quoted hunk
From: Rob Herring <rob.herring-bsGFqQB8/DxBDgjK7y7TUQ@public.gmane.org>

of_platform_populate will create platform devices for the top-level nodes
if they have a compatible string, but regardless of a match or not.

Cc: Grant Likely <grant.likely-s3s/WqlpOiPyB63q8FvJNQ@public.gmane.org>
Signed-off-by: Rob Herring <rob.herring-bsGFqQB8/DxBDgjK7y7TUQ@public.gmane.org>
---
 drivers/of/platform.c |    2 ++
 1 files changed, 2 insertions(+), 0 deletions(-)
diff --git a/drivers/of/platform.c b/drivers/of/platform.c
index 9b785be..dc56a77 100644
--- a/drivers/of/platform.c
+++ b/drivers/of/platform.c
@@ -318,6 +318,8 @@ int of_platform_populate(struct device_node *root,
 		return -EINVAL;
 
 	for_each_child_of_node(root, child) {
+		if (!of_match_node(matches, child))
+			continue;
This doesn't look right.  The point of of_platform_populate() is to
register platform_devices for all the child nodes, regardless of
whether or not they are in the match table.

of_platform_bus_create() does the correct behaviour to check for
whether or not to register grandchildren.
 		rc = of_platform_bus_create(child, matches, parent, true);
 		if (rc)
 			break;
-- 
1.7.4.1
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help