Message ID | 20211110105922.217895-17-bhupesh.sharma@linaro.org (mailing list archive) |
---|---|
State | Not Applicable |
Headers | show |
Series | Enable Qualcomm Crypto Engine on sm8150 & sm8250 | expand |
On Wed 10 Nov 04:59 CST 2021, Bhupesh Sharma wrote: > From: Thara Gopinath <thara.gopinath@linaro.org> > > On certain Snapdragon processors, the crypto engine clocks are enabled by > default by security firmware and the driver need not/ should not handle the > clocks. Make acquiring of all the clocks optional in crypto engine driver > so that the driver initializes properly even if no clocks are specified in > the dt. > So on some Snapdragons we don't have clocks, on others failing to specify the clock leads to hard-to-debug issues. Can we make the clk_get calls conditional based on the compatible instead? > Cc: Bjorn Andersson <bjorn.andersson@linaro.org> > Cc: Rob Herring <robh+dt@kernel.org> > Signed-off-by: Bhupesh Sharma <bhupesh.sharma@linaro.org> > [Massage the commit log] It's a good habit to prefix these messages with your name, i.e. [Bhupesh: Massaged the commit log] Regards, Bjorn > Signed-off-by: Thara Gopinath <thara.gopinath@linaro.org> > --- > drivers/crypto/qce/core.c | 6 +++--- > 1 file changed, 3 insertions(+), 3 deletions(-) > > diff --git a/drivers/crypto/qce/core.c b/drivers/crypto/qce/core.c > index dd2604f5ce6a..98784d63d78c 100644 > --- a/drivers/crypto/qce/core.c > +++ b/drivers/crypto/qce/core.c > @@ -213,19 +213,19 @@ static int qce_crypto_probe(struct platform_device *pdev) > if (IS_ERR(qce->mem_path)) > return PTR_ERR(qce->mem_path); > > - qce->core = devm_clk_get(qce->dev, "core"); > + qce->core = devm_clk_get_optional(qce->dev, "core"); > if (IS_ERR(qce->core)) { > ret = PTR_ERR(qce->core); > goto err; > } > > - qce->iface = devm_clk_get(qce->dev, "iface"); > + qce->iface = devm_clk_get_optional(qce->dev, "iface"); > if (IS_ERR(qce->iface)) { > ret = PTR_ERR(qce->iface); > goto err; > } > > - qce->bus = devm_clk_get(qce->dev, "bus"); > + qce->bus = devm_clk_get_optional(qce->dev, "bus"); > if (IS_ERR(qce->bus)) { > ret = PTR_ERR(qce->bus); > goto err; > -- > 2.31.1 >
diff --git a/drivers/crypto/qce/core.c b/drivers/crypto/qce/core.c index dd2604f5ce6a..98784d63d78c 100644 --- a/drivers/crypto/qce/core.c +++ b/drivers/crypto/qce/core.c @@ -213,19 +213,19 @@ static int qce_crypto_probe(struct platform_device *pdev) if (IS_ERR(qce->mem_path)) return PTR_ERR(qce->mem_path); - qce->core = devm_clk_get(qce->dev, "core"); + qce->core = devm_clk_get_optional(qce->dev, "core"); if (IS_ERR(qce->core)) { ret = PTR_ERR(qce->core); goto err; } - qce->iface = devm_clk_get(qce->dev, "iface"); + qce->iface = devm_clk_get_optional(qce->dev, "iface"); if (IS_ERR(qce->iface)) { ret = PTR_ERR(qce->iface); goto err; } - qce->bus = devm_clk_get(qce->dev, "bus"); + qce->bus = devm_clk_get_optional(qce->dev, "bus"); if (IS_ERR(qce->bus)) { ret = PTR_ERR(qce->bus); goto err;