]> git.karo-electronics.de Git - karo-tx-linux.git/blobdiff - drivers/crypto/caam/ctrl.c
ENGR00298286 arm: dts: imx6qdl: add clock to CAAM.
[karo-tx-linux.git] / drivers / crypto / caam / ctrl.c
index 3df6f232c799b8249812aab56c832ac10b01d909..2744acecb01a661cb797ae0f751c82128b5b2a5a 100644 (file)
@@ -2,7 +2,7 @@
  * CAAM control-plane driver backend
  * Controller-level driver, kernel property detection, initialization
  *
- * Copyright (C) 2008-2013 Freescale Semiconductor, Inc.
+ * Copyright (C) 2008-2014 Freescale Semiconductor, Inc.
  */
 
 #include "compat.h"
@@ -49,6 +49,7 @@ static int caam_remove(struct platform_device *pdev)
        clk_disable(ctrlpriv->caam_ipg);
        clk_disable(ctrlpriv->caam_mem);
        clk_disable(ctrlpriv->caam_aclk);
+       clk_disable(ctrlpriv->caam_emi_slow);
 #endif
 
        kfree(ctrlpriv->jrdev);
@@ -321,6 +322,15 @@ static int caam_probe(struct platform_device *pdev)
                return -ENODEV;
        }
 
+       ctrlpriv->caam_emi_slow = devm_clk_get(&ctrlpriv->pdev->dev,
+                                              "caam_emi_slow");
+       ret = clk_prepare_enable(ctrlpriv->caam_emi_slow);
+       if (ret < 0) {
+               dev_err(&pdev->dev, "can't prepare CAAM emi"
+                       " slow clock: %d\n", ret);
+               return -ENODEV;
+       }
+
        ret = clk_prepare(ctrlpriv->caam_ipg);
        if (ret < 0) {
                dev_err(&pdev->dev, "can't prepare CAAM ipg clock: %d\n", ret);