aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/clk/imx
diff options
context:
space:
mode:
authorDong Aisheng <aisheng.dong@nxp.com>2020-11-19 19:43:02 +0800
committerShawn Guo <shawnguo@kernel.org>2020-11-30 21:53:03 +0800
commit43d2479687c93ed9b93774ef9b46b37de5b3efcc (patch)
tree7610a1160b401346c2a4b6faf7f9b8ce8ac0334d /drivers/clk/imx
parentclk: imx: scu: Make pd_np with static keyword (diff)
downloadlinux-dev-43d2479687c93ed9b93774ef9b46b37de5b3efcc.tar.xz
linux-dev-43d2479687c93ed9b93774ef9b46b37de5b3efcc.zip
clk: imx: scu: remove the calling of device_is_bound
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>
Diffstat (limited to 'drivers/clk/imx')
-rw-r--r--drivers/clk/imx/clk-scu.c15
1 files changed, 4 insertions, 11 deletions
diff --git a/drivers/clk/imx/clk-scu.c b/drivers/clk/imx/clk-scu.c
index d10f60e48ece..1f5518b7ab39 100644
--- a/drivers/clk/imx/clk-scu.c
+++ b/drivers/clk/imx/clk-scu.c
@@ -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);