]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
of: platform: Use default match table for /firmware
authorRob Herring (Arm) <robh@kernel.org>
Wed, 14 Jan 2026 01:51:58 +0000 (19:51 -0600)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 30 Jan 2026 09:27:38 +0000 (10:27 +0100)
commit 48e6a9c4a20870e09f85ff1a3628275d6bce31c0 upstream.

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()")
Cc: stable@vger.kernel.org
Reviewed-by: Sudeep Holla <sudeep.holla@arm.com>
Link: https://patch.msgid.link/20260114015158.692170-2-robh@kernel.org
Signed-off-by: Rob Herring (Arm) <robh@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/of/platform.c

index f235ab55b91e6c3aaad337d90ee829a50bfe474c..ccf7f0ffa67fb07d8c456a8f3f43725b71b20140 100644 (file)
@@ -616,7 +616,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);
                }