diff mbox

arm: crypto: picoxcell: Update to the current clk API

Message ID 1434722151-4309-1-git-send-email-michael@smart-africa.com (mailing list archive)
State Accepted
Delegated to: Herbert Xu
Headers show

Commit Message

Michael van der Westhuizen June 19, 2015, 1:55 p.m. UTC
The picoXcell hardware crypto accelerator driver was using an
older version of the clk framework, and not (un)preparing the
clock before enabling/disabling it.  This change uses the handy
clk_prepare_enable function to interact with the current clk
framework correctly.

Signed-off-by: Michael van der Westhuizen <michael@smart-africa.com>
---
 drivers/crypto/picoxcell_crypto.c | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

Comments

Herbert Xu June 21, 2015, 12:06 p.m. UTC | #1
On Fri, Jun 19, 2015 at 03:55:51PM +0200, Michael van der Westhuizen wrote:
> The picoXcell hardware crypto accelerator driver was using an
> older version of the clk framework, and not (un)preparing the
> clock before enabling/disabling it.  This change uses the handy
> clk_prepare_enable function to interact with the current clk
> framework correctly.
> 
> Signed-off-by: Michael van der Westhuizen <michael@smart-africa.com>

Applied.
diff mbox

Patch

diff --git a/drivers/crypto/picoxcell_crypto.c b/drivers/crypto/picoxcell_crypto.c
index 5da5b98..c5a9e5d 100644
--- a/drivers/crypto/picoxcell_crypto.c
+++ b/drivers/crypto/picoxcell_crypto.c
@@ -1754,15 +1754,15 @@  static int spacc_probe(struct platform_device *pdev)
 		return PTR_ERR(engine->clk);
 	}
 
-	if (clk_enable(engine->clk)) {
-		dev_info(&pdev->dev, "unable to enable clk\n");
+	if (clk_prepare_enable(engine->clk)) {
+		dev_info(&pdev->dev, "unable to prepare/enable clk\n");
 		clk_put(engine->clk);
 		return -EIO;
 	}
 
 	err = device_create_file(&pdev->dev, &dev_attr_stat_irq_thresh);
 	if (err) {
-		clk_disable(engine->clk);
+		clk_disable_unprepare(engine->clk);
 		clk_put(engine->clk);
 		return err;
 	}
@@ -1830,7 +1830,7 @@  static int spacc_remove(struct platform_device *pdev)
 		crypto_unregister_alg(&alg->alg);
 	}
 
-	clk_disable(engine->clk);
+	clk_disable_unprepare(engine->clk);
 	clk_put(engine->clk);
 
 	return 0;