diff options
author | Takashi Iwai <tiwai@suse.de> | 2012-02-08 21:29:38 +0100 |
---|---|---|
committer | Takashi Iwai <tiwai@suse.de> | 2012-02-08 21:29:38 +0100 |
commit | 982d411c303a475424c67966990b5803cc536319 (patch) | |
tree | 92cce4cfba98ee266dc452c2535e6eaff35bf699 | |
parent | 2492250e4412c6411324c14ab289629360640b0a (diff) | |
parent | a7c4183be2d6a7da8c97a9b671b5f3aed321127e (diff) | |
download | linux-3.10-982d411c303a475424c67966990b5803cc536319.tar.gz linux-3.10-982d411c303a475424c67966990b5803cc536319.tar.bz2 linux-3.10-982d411c303a475424c67966990b5803cc536319.zip |
Merge tag 'asoc-3.3' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound into for-linus
A few small WM8994 updates to go on top of the previous lot of things
that were sent. They collide with some -next work so I'd really like to
get them into 3.3-rc3 if possible to merge back up into the -next code.
All driver specific and unexciting in the grand scheme of things.
-rw-r--r-- | sound/soc/codecs/wm8994.c | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/sound/soc/codecs/wm8994.c b/sound/soc/codecs/wm8994.c index 8623950d55f..ec69a6c152f 100644 --- a/sound/soc/codecs/wm8994.c +++ b/sound/soc/codecs/wm8994.c @@ -770,6 +770,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", @@ -783,7 +785,12 @@ static void vmid_reference(struct snd_soc_codec *codec) WM8994_VMID_RAMP_MASK, WM8994_STARTUP_BIAS_ENA | WM8994_VMID_BUF_ENA | - (0x11 << WM8994_VMID_RAMP_SHIFT)); + (0x3 << WM8994_VMID_RAMP_SHIFT)); + + /* Remove discharge for line out */ + snd_soc_update_bits(codec, WM8994_ANTIPOP_1, + WM8994_LINEOUT1_DISCH | + WM8994_LINEOUT2_DISCH, 0); /* Main bias enable, VMID=2x40k */ snd_soc_update_bits(codec, WM8994_POWER_MANAGEMENT_1, @@ -837,6 +844,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, |