Merge branch 'asoc-4.18' into asoc-4.19 wmadsp dep
[linux-2.6-microblaze.git] / drivers / remoteproc / da8xx_remoteproc.c
index bf3b903..b668e32 100644 (file)
@@ -25,7 +25,7 @@
 #include "remoteproc_internal.h"
 
 static char *da8xx_fw_name;
-module_param(da8xx_fw_name, charp, S_IRUGO);
+module_param(da8xx_fw_name, charp, 0444);
 MODULE_PARM_DESC(da8xx_fw_name,
                 "Name of DSP firmware file in /lib/firmware (if not specified defaults to 'rproc-dsp-fw')");
 
@@ -138,6 +138,7 @@ static int da8xx_rproc_start(struct rproc *rproc)
        struct device *dev = rproc->dev.parent;
        struct da8xx_rproc *drproc = (struct da8xx_rproc *)rproc->priv;
        struct clk *dsp_clk = drproc->dsp_clk;
+       int ret;
 
        /* hw requires the start (boot) address be on 1KB boundary */
        if (rproc->bootaddr & 0x3ff) {
@@ -148,7 +149,12 @@ static int da8xx_rproc_start(struct rproc *rproc)
 
        writel(rproc->bootaddr, drproc->bootreg);
 
-       clk_enable(dsp_clk);
+       ret = clk_prepare_enable(dsp_clk);
+       if (ret) {
+               dev_err(dev, "clk_prepare_enable() failed: %d\n", ret);
+               return ret;
+       }
+
        davinci_clk_reset_deassert(dsp_clk);
 
        return 0;
@@ -159,7 +165,7 @@ static int da8xx_rproc_stop(struct rproc *rproc)
        struct da8xx_rproc *drproc = rproc->priv;
 
        davinci_clk_reset_assert(drproc->dsp_clk);
-       clk_disable(drproc->dsp_clk);
+       clk_disable_unprepare(drproc->dsp_clk);
 
        return 0;
 }