ASoC: Ux500: Fixup use of clocks

Make sure clocks are being prepared and unprepared as well
as enabled and disabled.

Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
Acked-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
This commit is contained in:
Ulf Hansson 2012-10-22 14:32:04 +02:00 committed by Mark Brown
parent 6f0c0580b7
commit fe36a0b2b5
1 changed files with 7 additions and 5 deletions

View File

@ -398,11 +398,13 @@ static int ux500_msp_dai_startup(struct snd_pcm_substream *substream,
return ret;
}
/* Enable clock */
/* Prepare and enable clock */
dev_dbg(dai->dev, "%s: Enabling MSP-clock.\n", __func__);
clk_enable(drvdata->clk);
ret = clk_prepare_enable(drvdata->clk);
if (ret)
regulator_disable(drvdata->reg_vape);
return 0;
return ret;
}
static void ux500_msp_dai_shutdown(struct snd_pcm_substream *substream,
@ -428,8 +430,8 @@ static void ux500_msp_dai_shutdown(struct snd_pcm_substream *substream,
__func__, dai->id, snd_pcm_stream_str(substream));
}
/* Disable clock */
clk_disable(drvdata->clk);
/* Disable and unprepare clock */
clk_disable_unprepare(drvdata->clk);
/* Disable regulator */
ret = regulator_disable(drvdata->reg_vape);