diff options
author | Mark Brown <broonie@opensource.wolfsonmicro.com> | 2012-02-06 12:07:08 +0000 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2012-02-13 11:17:00 -0800 |
commit | e9ee45b83b21448a8e27309456430890b5fa1ff2 (patch) | |
tree | e053216f54b03bdbf5dab329e6f9d12142e653f4 /sound/soc | |
parent | ef7dcc8c0fd35d7fb937d7bc4ac7b883945b3586 (diff) |
ASoC: wm8994: Enabling VMID should take a runtime PM reference
commit db966f8abb9ba74f7d5a7230f51572f52c31c4e5 upstream.
We can enable VMID independently of the bias in some use cases so we need
to ensure that the core device is powered up.
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'sound/soc')
-rw-r--r-- | sound/soc/codecs/wm8994.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/sound/soc/codecs/wm8994.c b/sound/soc/codecs/wm8994.c index d0c545b73d78..a3d6bd8099ce 100644 --- a/sound/soc/codecs/wm8994.c +++ b/sound/soc/codecs/wm8994.c @@ -729,6 +729,8 @@ static void vmid_reference(struct snd_soc_codec *codec) { struct wm8994_priv *wm8994 = snd_soc_codec_get_drvdata(codec); + pm_runtime_get_sync(codec->dev); + wm8994->vmid_refcount++; dev_dbg(codec->dev, "Referencing VMID, refcount is now %d\n", @@ -796,6 +798,8 @@ static void vmid_dereference(struct snd_soc_codec *codec) WM8994_VMID_BUF_ENA | WM8994_VMID_RAMP_MASK, 0); } + + pm_runtime_put(codec->dev); } static int vmid_event(struct snd_soc_dapm_widget *w, |