]> git.karo-electronics.de Git - karo-tx-linux.git/commitdiff
Merge branch 'for-3.5' into asoc-next
authorMark Brown <broonie@opensource.wolfsonmicro.com>
Fri, 27 Apr 2012 17:44:50 +0000 (18:44 +0100)
committerMark Brown <broonie@opensource.wolfsonmicro.com>
Fri, 27 Apr 2012 17:44:50 +0000 (18:44 +0100)
1  2 
sound/soc/codecs/wm8994.c
sound/soc/codecs/wm_hubs.c
sound/soc/soc-dapm.c

index 587062b1cb25eb2f90f42f790f5f6483be6753c9,d2db63022607fa634fb851e4aa01c4c7d1a848c1..b3b2d5f344ce8dded9f792ad911aa7d521adae55
@@@ -989,43 -973,21 +973,34 @@@ static bool wm8994_check_class_w_digita
        reg_r = snd_soc_read(codec, WM8994_DAC1_RIGHT_MIXER_ROUTING);
        if (reg_r != reg) {
                dev_vdbg(codec->dev, "Left and right DAC mixers different\n");
-               enable = 0;
+               return false;
        }
  
-       if (enable) {
-               dev_dbg(codec->dev, "Class W enabled\n");
-               snd_soc_update_bits(codec, WM8994_CLASS_W_1,
-                                   WM8994_CP_DYN_PWR |
-                                   WM8994_CP_DYN_SRC_SEL_MASK,
-                                   source | WM8994_CP_DYN_PWR);
-               wm8994->hubs.class_w = true;
+       /* Set the source up */
+       snd_soc_update_bits(codec, WM8994_CLASS_W_1,
+                           WM8994_CP_DYN_SRC_SEL_MASK, source);
  
-       } else {
-               dev_dbg(codec->dev, "Class W disabled\n");
-               snd_soc_update_bits(codec, WM8994_CLASS_W_1,
-                                   WM8994_CP_DYN_PWR, 0);
-               wm8994->hubs.class_w = false;
-       }
+       return true;
  }
  
 -static int late_enable_ev(struct snd_soc_dapm_widget *w,
 -                        struct snd_kcontrol *kcontrol, int event)
 +static int aif1clk_ev(struct snd_soc_dapm_widget *w,
 +                    struct snd_kcontrol *kcontrol, int event)
  {
        struct snd_soc_codec *codec = w->codec;
 -      struct wm8994_priv *wm8994 = snd_soc_codec_get_drvdata(codec);
 +      struct wm8994 *control = codec->control_data;
 +      int mask = WM8994_AIF1DAC1L_ENA | WM8994_AIF1DAC1R_ENA;
 +      int dac;
 +      int adc;
 +      int val;
 +
 +      switch (control->type) {
 +      case WM8994:
 +      case WM8958:
 +              mask |= WM8994_AIF1DAC2L_ENA | WM8994_AIF1DAC2R_ENA;
 +              break;
 +      default:
 +              break;
 +      }
  
        switch (event) {
        case SND_SOC_DAPM_PRE_PMU:
Simple merge
Simple merge