]> err.no Git - linux-2.6/blobdiff - sound/soc/codecs/wm9712.c
Merge branches 'release', 'acpica', 'bugzilla-10224', 'bugzilla-9772', 'bugzilla...
[linux-2.6] / sound / soc / codecs / wm9712.c
index 427cb61f65a640fde7de33bf809c41a718606b0c..d2d79e182a45b1bc44c79e6278043a0ae147a9cf 100644 (file)
@@ -19,7 +19,6 @@
 #include <linux/version.h>
 #include <linux/kernel.h>
 #include <linux/device.h>
-#include <sound/driver.h>
 #include <sound/core.h>
 #include <sound/pcm.h>
 #include <sound/ac97_codec.h>
@@ -132,7 +131,7 @@ SOC_SINGLE("Aux Playback Headphone Volume", AC97_CD, 12, 7, 1),
 SOC_SINGLE("Aux Playback Speaker Volume", AC97_CD, 8, 7, 1),
 SOC_SINGLE("Aux Playback Phone Volume", AC97_CD, 4, 7, 1),
 
-SOC_SINGLE("Phone Volume", AC97_PHONE, 0, 15, 0),
+SOC_SINGLE("Phone Volume", AC97_PHONE, 0, 15, 1),
 SOC_DOUBLE("Line Capture Volume", AC97_LINE, 8, 0, 31, 1),
 
 SOC_SINGLE("Capture 20dB Boost Switch", AC97_REC_SEL, 14, 1, 0),
@@ -177,7 +176,8 @@ static int wm9712_add_controls(struct snd_soc_codec *codec)
  * the codec only has a single control that is shared by both channels.
  * This makes it impossible to determine the audio path.
  */
-static int mixer_event (struct snd_soc_dapm_widget *w, int event)
+static int mixer_event(struct snd_soc_dapm_widget *w,
+       struct snd_kcontrol *k, int event)
 {
        u16 l, r, beep, line, phone, mic, pcm, aux;
 
@@ -581,22 +581,14 @@ static int wm9712_dapm_event(struct snd_soc_codec *codec, int event)
 
        switch (event) {
        case SNDRV_CTL_POWER_D0: /* full On */
-               /* liam - maybe enable thermal shutdown */
-               reg = ac97_read(codec, AC97_EXTENDED_MID) & 0xdfff;
-               ac97_write(codec, AC97_EXTENDED_MID, reg);
-               break;
        case SNDRV_CTL_POWER_D1: /* partial On */
        case SNDRV_CTL_POWER_D2: /* partial On */
                break;
        case SNDRV_CTL_POWER_D3hot: /* Off, with power */
-               /* enable master bias and vmid */
-               reg = ac97_read(codec, AC97_EXTENDED_MID) & 0xbbff;
-               ac97_write(codec, AC97_EXTENDED_MID, reg);
                ac97_write(codec, AC97_POWERDOWN, 0x0000);
                break;
        case SNDRV_CTL_POWER_D3cold: /* Off, without power */
                /* disable everything including AC link */
-               ac97_write(codec, AC97_EXTENDED_MID, 0xffff);
                ac97_write(codec, AC97_EXTENDED_MSTATUS, 0xffff);
                ac97_write(codec, AC97_POWERDOWN, 0xffff);
                break;