pmdomain: imx: Make imx pgc power domain also set the fwnode
authorPengfei Li <pengfei.li_1@nxp.com>
Fri, 20 Oct 2023 18:59:49 +0000 (02:59 +0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 28 Nov 2023 17:20:00 +0000 (17:20 +0000)
commit 374de39d38f97b0e58cfee88da590b2d056ccf7f upstream.

Currently, The imx pgc power domain doesn't set the fwnode
pointer, which results in supply regulator device can't get
consumer imx pgc power domain device from fwnode when creating
a link.

This causes the driver core to instead try to create a link
between the parent gpc device of imx pgc power domain device and
supply regulator device. However, at this point, the gpc device
has already been bound, and the link creation will fail. So adding
the fwnode pointer to the imx pgc power domain device will fix
this issue.

Signed-off-by: Pengfei Li <pengfei.li_1@nxp.com>
Tested-by: Emil Kronborg <emil.kronborg@protonmail.com>
Fixes: 3fb16866b51d ("driver core: fw_devlink: Make cycle detection more robust")
Cc: stable@vger.kernel.org
Link: https://lore.kernel.org/r/20231020185949.537083-1-pengfei.li_1@nxp.com
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/pmdomain/imx/gpc.c

index 90a8b2c..419ed15 100644 (file)
@@ -498,6 +498,7 @@ static int imx_gpc_probe(struct platform_device *pdev)
 
                        pd_pdev->dev.parent = &pdev->dev;
                        pd_pdev->dev.of_node = np;
+                       pd_pdev->dev.fwnode = of_fwnode_handle(np);
 
                        ret = platform_device_add(pd_pdev);
                        if (ret) {