ASoC: wm8962: Let CODEC driver enable and disable its own MCLK
authorNicolin Chen <nicoleotsuka@gmail.com>
Tue, 29 Jul 2014 10:38:39 +0000 (18:38 +0800)
committerMark Brown <broonie@linaro.org>
Thu, 31 Jul 2014 19:51:26 +0000 (20:51 +0100)
commitd7821953cfe9803c593a682320468ce2de862803
tree4919f011ce7e05397a6e40c5de782ada5269cd8d
parent7171511eaec5bf23fb06078f59784a3a0626b38f
ASoC: wm8962: Let CODEC driver enable and disable its own MCLK

snd_soc_open() will trigger pm_runtime resume() which will then enable
the regulator and initialization. So we should make sure the MCLK is
enabled before this resume().

Previously we let the machine driver get the clock and enable it in
its probe(). However, considering about power saving, it'll be better
to enable it when it's going to be used and disable it after using.

So this patch just simply adds clk_get() and clk_enable() to WM8962
driver. Meanwhile, it marks clock pointer to NULL if no clock assigned
to it so it will not break any current function.

Signed-off-by: Nicolin Chen <nicoleotsuka@gmail.com>
Signed-off-by: Mark Brown <broonie@linaro.org>
include/sound/wm8962.h
sound/soc/codecs/wm8962.c