of: platform: Use default match table for /firmware
Rob Herring (Arm)
maintainerPATCH 1/1 of: platform: Use default match table for /firmware
Calling of_platform_populate() without a match table will only populate the immediate child nodes under /firmware. This is usually fine, but in the case of something like a "simple-mfd" node such as "raspberrypi,bcm2835-firmware", those child nodes will not be populated. And subsequent calls won't work either because the /firmware node is marked as processed already.
Switch the call to of_platform_default_populate() to solve this problem. It should be a nop for existing cases.
--- drivers/of/platform.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
drivers/of/platform.c +1 -1
@@ -568,7 +568,7 @@ static int __init of_platform_default_populate_init(void) node =of_find_node_by_path ("/firmware" );if (node) { -of_platform_populate (node,NULL ,NULL ,NULL ); +of_platform_default_populate (node,NULL ,NULL );of_node_put (node); }
Signature · 1 line
2.51.0
Quoted 10 lines · Rob Herring (Arm)
Calling
of_platform_populate()without a match table will only populate the immediate child nodes under /firmware. This is usually fine, but in the case of something like a "simple-mfd" node such as "raspberrypi,bcm2835-firmware", those child nodes will not be populated. And subsequent calls won't work either because the /firmware node is marked as processed already.Switch the call to
of_platform_default_populate()to solve this problem. It should be a nop for existing cases.
Thanks, had not thought of child nodes for sure at that time.
Signature · 2 lines
Regards, Sudeep
Rob Herring
maintainerQuoted 33 lines · Rob Herring (Arm)
Calling
of_platform_populate()without a match table will only populate the immediate child nodes under /firmware. This is usually fine, but in the case of something like a "simple-mfd" node such as "raspberrypi,bcm2835-firmware", those child nodes will not be populated. And subsequent calls won't work either because the /firmware node is marked as processed already.Switch the call to
of_platform_default_populate()to solve this problem. It should be a nop for existing cases.Fixes 3aa0582fdb82 ("of: platform: populate /firmware/ node from of_platform_default_populate_init()")Signed-off-by Rob Herring (Arm) <[email protected]>--- drivers/of/platform.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)drivers/of/platform.c +1
-1@@ -568,7 +568,7 @@ static int __init of_platform_default_populate_init(void) node =of_find_node_by_path ("/firmware" );if (node) { -of_platform_populate (node,NULL ,NULL ,NULL ); +of_platform_default_populate (node,NULL ,NULL );of_node_put (node); }Signature · 1 line
2.51.0