ASoC: Conditionalize the enable of WM8994 ADC TDM mode
authorMark Brown <broonie@opensource.wolfsonmicro.com>
Wed, 6 Jul 2011 07:08:43 +0000 (00:08 -0700)
committerMark Brown <broonie@opensource.wolfsonmicro.com>
Sat, 9 Jul 2011 14:16:48 +0000 (23:16 +0900)
Future devices will not benefit from this.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Liam Girdwood <lrg@ti.com>
sound/soc/codecs/wm8994.c

index 70a68fd..0cd36f0 100644 (file)
@@ -3051,10 +3051,18 @@ static int wm8994_codec_probe(struct snd_soc_codec *codec)
                            1 << WM8994_AIF2DAC_3D_GAIN_SHIFT,
                            1 << WM8994_AIF2DAC_3D_GAIN_SHIFT);
 
-       /* Unconditionally enable AIF1 ADC TDM mode; it only affects
-        * behaviour on idle TDM clock cycles. */
-       snd_soc_update_bits(codec, WM8994_AIF1_CONTROL_1,
-                           WM8994_AIF1ADC_TDM, WM8994_AIF1ADC_TDM);
+       /* Unconditionally enable AIF1 ADC TDM mode on chips which can
+        * use this; it only affects behaviour on idle TDM clock
+        * cycles. */
+       switch (control->type) {
+       case WM8994:
+       case WM8958:
+               snd_soc_update_bits(codec, WM8994_AIF1_CONTROL_1,
+                                   WM8994_AIF1ADC_TDM, WM8994_AIF1ADC_TDM);
+               break;
+       default:
+               break;
+       }
 
        wm8994_update_class_w(codec);