]> www.infradead.org Git - linux-platform-drivers-x86.git/commitdiff
clk: imx: scu: remove the calling of device_is_bound
authorDong Aisheng <aisheng.dong@nxp.com>
Thu, 19 Nov 2020 11:43:02 +0000 (19:43 +0800)
committerShawn Guo <shawnguo@kernel.org>
Mon, 30 Nov 2020 13:53:03 +0000 (21:53 +0800)
The device_is_bound() is invisible to drivers when built as modules.
It's also not aimed to be used by drivers according to Greg K.H.
Let's remove it from clk-scu driver and find another way to do proper
driver loading sequence.

Cc: Shawn Guo <shawnguo@kernel.org>
Cc: Sascha Hauer <kernel@pengutronix.de>
Cc: Stephen Boyd <sboyd@kernel.org>
Fixes: 77d8f3068c63 ("clk: imx: scu: add two cells binding support")
Reported-by: Sudip Mukherjee <sudipm.mukherjee@gmail.com>
Signed-off-by: Dong Aisheng <aisheng.dong@nxp.com>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
drivers/clk/imx/clk-scu.c

index d10f60e48ece8b5907a556874af2cc32c9a1dd51..1f5518b7ab39eded6fdc00799c9a5dc0b1f4eaa5 100644 (file)
@@ -153,7 +153,6 @@ static inline struct clk_scu *to_clk_scu(struct clk_hw *hw)
 
 int imx_clk_scu_init(struct device_node *np)
 {
-       struct platform_device *pd_dev;
        u32 clk_cells;
        int ret, i;
 
@@ -166,17 +165,11 @@ int imx_clk_scu_init(struct device_node *np)
        if (clk_cells == 2) {
                for (i = 0; i < IMX_SC_R_LAST; i++)
                        INIT_LIST_HEAD(&imx_scu_clks[i]);
-               /*
-                * Note: SCU clock driver depends on SCU power domain to be ready
-                * first. As there're no power domains under scu clock node in dts,
-                * we can't use PROBE_DEFER automatically.
-                */
+
+               /* pd_np will be used to attach power domains later */
                pd_np = of_find_compatible_node(NULL, NULL, "fsl,scu-pd");
-               pd_dev = of_find_device_by_node(pd_np);
-               if (!pd_dev || !device_is_bound(&pd_dev->dev)) {
-                       of_node_put(pd_np);
-                       return -EPROBE_DEFER;
-               }
+               if (!pd_np)
+                       return -EINVAL;
        }
 
        return platform_driver_register(&imx_clk_scu_driver);