Commit 18361bbe3180eca62796188d62aefac1519f4c83
Exists in
master
and in
39 other branches
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
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, |