From 1a60667fc81fdab3733a1d41480da3a5d0ccecea Mon Sep 17 00:00:00 2001 From: Charles Keepax Date: Tue, 7 Apr 2015 12:55:10 +0100 Subject: ASoC: wm8804: Enable runtime PM Currently both the oscillator and the PLL are powered up in set_bias_level. This can be problematic when using output clocks from the wm8804 for other devices. The snd_soc_codec_set_pll API defines that a clock should be available once the call returns, however, with all the clocking controlled in set_bias_level this is not currently the case. This patch enables pm_runtime for the wm8804, enabling both the regulators and the oscillator when the chip resumes, and enabling the PLL in the snd_soc_codec_set_pll call. Naturally the enabling the PLL will also cause the chip to resume. Signed-off-by: Charles Keepax Signed-off-by: Mark Brown --- sound/soc/codecs/wm8804.h | 1 + 1 file changed, 1 insertion(+) (limited to 'sound/soc/codecs/wm8804.h') diff --git a/sound/soc/codecs/wm8804.h b/sound/soc/codecs/wm8804.h index a39a2563dc67..aa72fa66c932 100644 --- a/sound/soc/codecs/wm8804.h +++ b/sound/soc/codecs/wm8804.h @@ -65,6 +65,7 @@ #define WM8804_MCLKDIV_128FS 1 extern const struct regmap_config wm8804_regmap_config; +extern const struct dev_pm_ops wm8804_pm; int wm8804_probe(struct device *dev, struct regmap *regmap); void wm8804_remove(struct device *dev); -- cgit v1.2.3