struct tegra_aes_dev *dd = aes_dev;
        int ret;
 
-       ret = clk_enable(dd->aes_clk);
+       ret = clk_prepare_enable(dd->aes_clk);
        if (ret)
                BUG_ON("clock enable failed");
 
                ret = tegra_aes_handle_req(dd);
        } while (!ret);
 
-       clk_disable(dd->aes_clk);
+       clk_disable_unprepare(dd->aes_clk);
 }
 
 static irqreturn_t aes_irq(int irq, void *dev_id)
        /* take mutex to access the aes hw */
        mutex_lock(&aes_lock);
 
-       ret = clk_enable(dd->aes_clk);
+       ret = clk_prepare_enable(dd->aes_clk);
        if (ret)
                return ret;
 
        }
 
 out:
-       clk_disable(dd->aes_clk);
+       clk_disable_unprepare(dd->aes_clk);
        mutex_unlock(&aes_lock);
 
        dev_dbg(dd->dev, "%s: done\n", __func__);
 
        dd->flags = FLAGS_ENCRYPT | FLAGS_RNG;
 
-       ret = clk_enable(dd->aes_clk);
+       ret = clk_prepare_enable(dd->aes_clk);
        if (ret)
                return ret;
 
        memcpy(dd->dt, dt, DEFAULT_RNG_BLK_SZ);
 
 out:
-       clk_disable(dd->aes_clk);
+       clk_disable_unprepare(dd->aes_clk);
        mutex_unlock(&aes_lock);
 
        dev_dbg(dd->dev, "%s: done\n", __func__);