From: Peng Fan <peng.fan@xxxxxxx> To i.MX8QXP/QM/ULP and i.MX7ULP, Mcore maybe out of control of Linux. And in such case, no need clk, so make clk optional with has_clk. Signed-off-by: Peng Fan <peng.fan@xxxxxxx> --- drivers/remoteproc/imx_rproc.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/drivers/remoteproc/imx_rproc.c b/drivers/remoteproc/imx_rproc.c index 7b2578177ea8..0e99a3ca6fbc 100644 --- a/drivers/remoteproc/imx_rproc.c +++ b/drivers/remoteproc/imx_rproc.c @@ -89,6 +89,7 @@ struct imx_rproc { struct work_struct rproc_work; struct workqueue_struct *workqueue; void __iomem *rsc_table; + bool has_clk; }; static const struct imx_rproc_att imx_rproc_att_imx8mn[] = { @@ -724,6 +725,9 @@ static int imx_rproc_clk_enable(struct imx_rproc *priv) if (dcfg->method == IMX_RPROC_NONE) return 0; + if (!priv->has_clk) + return 0; + priv->clk = devm_clk_get(dev, NULL); if (IS_ERR(priv->clk)) { dev_err(dev, "Failed to get clock\n"); @@ -768,6 +772,7 @@ static int imx_rproc_probe(struct platform_device *pdev) priv->rproc = rproc; priv->dcfg = dcfg; priv->dev = dev; + priv->has_clk = true; dev_set_drvdata(dev, rproc); priv->workqueue = create_workqueue(dev_name(dev)); -- 2.25.1