diff options
author | Jarkko Nikula <jarkko.nikula@bitmer.com> | 2013-11-30 18:05:28 +0200 |
---|---|---|
committer | Mark Brown <broonie@linaro.org> | 2013-12-02 11:14:46 +0000 |
commit | fb28a75ad4806e17512025e03ec7c8255d055478 (patch) | |
tree | 81f8c57c7de514c7857613e38b1723f895e80e48 /sound | |
parent | 6ce4eac1f600b34f2f7f58f9cd8f0503d79e42ae (diff) | |
download | linux-stable-fb28a75ad4806e17512025e03ec7c8255d055478.tar.gz linux-stable-fb28a75ad4806e17512025e03ec7c8255d055478.tar.bz2 linux-stable-fb28a75ad4806e17512025e03ec7c8255d055478.zip |
ASoC: omap: n810: Convert to clk_prepare_enable/clk_disable_unprepare
N810 audio driver has stopped working at some point. Probably when
OMAP2 was converted to common clock framework since now call to clk_enable
dumps the stack trace in drivers/clk/clk.c: __clk_enable() due
clk->prepare_count is zero.
Fix this by converting clk_enable/_disable calls to those that take care
of clock prepare/unprepare.
I'm not queueing this to linux-stable since OMAP2 common clock framework
conversion in commit ed1ebc4948fd ("ARM: OMAP2: clock: Convert to common clk")
happened before N810 was really usable in mainline and user base for N810 is
anyway small. Potential linux-stable candidates are only those after
commit 3d3a6d18abc6 ("watchdog: introduce retu_wdt driver").
Signed-off-by: Jarkko Nikula <jarkko.nikula@bitmer.com>
Signed-off-by: Mark Brown <broonie@linaro.org>
Diffstat (limited to 'sound')
-rw-r--r-- | sound/soc/omap/n810.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/sound/soc/omap/n810.c b/sound/soc/omap/n810.c index 6d216cb6c19b..3fde9e402710 100644 --- a/sound/soc/omap/n810.c +++ b/sound/soc/omap/n810.c @@ -100,12 +100,12 @@ static int n810_startup(struct snd_pcm_substream *substream) SNDRV_PCM_HW_PARAM_CHANNELS, 2, 2); n810_ext_control(&codec->dapm); - return clk_enable(sys_clkout2); + return clk_prepare_enable(sys_clkout2); } static void n810_shutdown(struct snd_pcm_substream *substream) { - clk_disable(sys_clkout2); + clk_disable_unprepare(sys_clkout2); } static int n810_hw_params(struct snd_pcm_substream *substream, |