mfd: core: Set fwnode for created devices
authorRobert Hancock <hancock@sedsystems.ca>
Tue, 4 Jun 2019 22:35:43 +0000 (16:35 -0600)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sun, 4 Aug 2019 07:33:39 +0000 (09:33 +0200)
[ Upstream commit c176c6d7e932662668bcaec2d763657096589d85 ]

The logic for setting the of_node on devices created by mfd did not set
the fwnode pointer to match, which caused fwnode-based APIs to
malfunction on these devices since the fwnode pointer was null. Fix
this.

Signed-off-by: Robert Hancock <hancock@sedsystems.ca>
Signed-off-by: Lee Jones <lee.jones@linaro.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/mfd/mfd-core.c

index c57e407..5c8ed21 100644 (file)
@@ -179,6 +179,7 @@ static int mfd_add_device(struct device *parent, int id,
                for_each_child_of_node(parent->of_node, np) {
                        if (of_device_is_compatible(np, cell->of_compatible)) {
                                pdev->dev.of_node = np;
+                               pdev->dev.fwnode = &np->fwnode;
                                break;
                        }
                }