Commit 18361bbe3180eca62796188d62aefac1519f4c83

Authored by Takashi Iwai

Merge branch 'for-3.0' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/…

…sound-2.6 into fix/asoc

Showing 2 changed files Side-by-side Diff

sound/soc/codecs/ak4642.c
... ... @@ -357,7 +357,7 @@
357 357 default:
358 358 return -EINVAL;
359 359 }
360   - snd_soc_update_bits(codec, PW_MGMT2, MS, data);
  360 + snd_soc_update_bits(codec, PW_MGMT2, MS | MCKO | PMPLL, data);
361 361 snd_soc_update_bits(codec, MD_CTL1, BCKO_MASK, bcko);
362 362  
363 363 /* format type */
sound/soc/codecs/wm8731.c
... ... @@ -175,6 +175,7 @@
175 175 SOC_DAPM_ENUM("Input Select", wm8731_insel_enum);
176 176  
177 177 static const struct snd_soc_dapm_widget wm8731_dapm_widgets[] = {
  178 +SND_SOC_DAPM_SUPPLY("ACTIVE",WM8731_ACTIVE, 0, 0, NULL, 0),
178 179 SND_SOC_DAPM_SUPPLY("OSC", WM8731_PWR, 5, 1, NULL, 0),
179 180 SND_SOC_DAPM_MIXER("Output Mixer", WM8731_PWR, 4, 1,
180 181 &wm8731_output_mixer_controls[0],
... ... @@ -204,6 +205,8 @@
204 205 static const struct snd_soc_dapm_route wm8731_intercon[] = {
205 206 {"DAC", NULL, "OSC", wm8731_check_osc},
206 207 {"ADC", NULL, "OSC", wm8731_check_osc},
  208 + {"DAC", NULL, "ACTIVE"},
  209 + {"ADC", NULL, "ACTIVE"},
207 210  
208 211 /* output mixer */
209 212 {"Output Mixer", "Line Bypass Switch", "Line Input"},
... ... @@ -315,29 +318,6 @@
315 318 return 0;
316 319 }
317 320  
318   -static int wm8731_pcm_prepare(struct snd_pcm_substream *substream,
319   - struct snd_soc_dai *dai)
320   -{
321   - struct snd_soc_codec *codec = dai->codec;
322   -
323   - /* set active */
324   - snd_soc_write(codec, WM8731_ACTIVE, 0x0001);
325   -
326   - return 0;
327   -}
328   -
329   -static void wm8731_shutdown(struct snd_pcm_substream *substream,
330   - struct snd_soc_dai *dai)
331   -{
332   - struct snd_soc_codec *codec = dai->codec;
333   -
334   - /* deactivate */
335   - if (!codec->active) {
336   - udelay(50);
337   - snd_soc_write(codec, WM8731_ACTIVE, 0x0);
338   - }
339   -}
340   -
341 321 static int wm8731_mute(struct snd_soc_dai *dai, int mute)
342 322 {
343 323 struct snd_soc_codec *codec = dai->codec;
... ... @@ -480,7 +460,6 @@
480 460 snd_soc_write(codec, WM8731_PWR, reg | 0x0040);
481 461 break;
482 462 case SND_SOC_BIAS_OFF:
483   - snd_soc_write(codec, WM8731_ACTIVE, 0x0);
484 463 snd_soc_write(codec, WM8731_PWR, 0xffff);
485 464 regulator_bulk_disable(ARRAY_SIZE(wm8731->supplies),
486 465 wm8731->supplies);
487 466  
... ... @@ -496,9 +475,7 @@
496 475 SNDRV_PCM_FMTBIT_S24_LE)
497 476  
498 477 static struct snd_soc_dai_ops wm8731_dai_ops = {
499   - .prepare = wm8731_pcm_prepare,
500 478 .hw_params = wm8731_hw_params,
501   - .shutdown = wm8731_shutdown,
502 479 .digital_mute = wm8731_mute,
503 480 .set_sysclk = wm8731_set_dai_sysclk,
504 481 .set_fmt = wm8731_set_dai_fmt,