aboutsummaryrefslogtreecommitdiffstats
path: root/sound/soc/codecs/wm9090.c
diff options
context:
space:
mode:
Diffstat (limited to 'sound/soc/codecs/wm9090.c')
-rw-r--r--sound/soc/codecs/wm9090.c17
1 files changed, 9 insertions, 8 deletions
diff --git a/sound/soc/codecs/wm9090.c b/sound/soc/codecs/wm9090.c
index 99c046ba46bb..b5afa01aa383 100644
--- a/sound/soc/codecs/wm9090.c
+++ b/sound/soc/codecs/wm9090.c
@@ -443,31 +443,32 @@ static const struct snd_soc_dapm_route audio_map_in2_diff[] = {
443static int wm9090_add_controls(struct snd_soc_codec *codec) 443static int wm9090_add_controls(struct snd_soc_codec *codec)
444{ 444{
445 struct wm9090_priv *wm9090 = snd_soc_codec_get_drvdata(codec); 445 struct wm9090_priv *wm9090 = snd_soc_codec_get_drvdata(codec);
446 struct snd_soc_dapm_context *dapm = &codec->dapm;
446 int i; 447 int i;
447 448
448 snd_soc_dapm_new_controls(codec, wm9090_dapm_widgets, 449 snd_soc_dapm_new_controls(dapm, wm9090_dapm_widgets,
449 ARRAY_SIZE(wm9090_dapm_widgets)); 450 ARRAY_SIZE(wm9090_dapm_widgets));
450 451
451 snd_soc_dapm_add_routes(codec, audio_map, ARRAY_SIZE(audio_map)); 452 snd_soc_dapm_add_routes(dapm, audio_map, ARRAY_SIZE(audio_map));
452 453
453 snd_soc_add_controls(codec, wm9090_controls, 454 snd_soc_add_controls(codec, wm9090_controls,
454 ARRAY_SIZE(wm9090_controls)); 455 ARRAY_SIZE(wm9090_controls));
455 456
456 if (wm9090->pdata.lin1_diff) { 457 if (wm9090->pdata.lin1_diff) {
457 snd_soc_dapm_add_routes(codec, audio_map_in1_diff, 458 snd_soc_dapm_add_routes(dapm, audio_map_in1_diff,
458 ARRAY_SIZE(audio_map_in1_diff)); 459 ARRAY_SIZE(audio_map_in1_diff));
459 } else { 460 } else {
460 snd_soc_dapm_add_routes(codec, audio_map_in1_se, 461 snd_soc_dapm_add_routes(dapm, audio_map_in1_se,
461 ARRAY_SIZE(audio_map_in1_se)); 462 ARRAY_SIZE(audio_map_in1_se));
462 snd_soc_add_controls(codec, wm9090_in1_se_controls, 463 snd_soc_add_controls(codec, wm9090_in1_se_controls,
463 ARRAY_SIZE(wm9090_in1_se_controls)); 464 ARRAY_SIZE(wm9090_in1_se_controls));
464 } 465 }
465 466
466 if (wm9090->pdata.lin2_diff) { 467 if (wm9090->pdata.lin2_diff) {
467 snd_soc_dapm_add_routes(codec, audio_map_in2_diff, 468 snd_soc_dapm_add_routes(dapm, audio_map_in2_diff,
468 ARRAY_SIZE(audio_map_in2_diff)); 469 ARRAY_SIZE(audio_map_in2_diff));
469 } else { 470 } else {
470 snd_soc_dapm_add_routes(codec, audio_map_in2_se, 471 snd_soc_dapm_add_routes(dapm, audio_map_in2_se,
471 ARRAY_SIZE(audio_map_in2_se)); 472 ARRAY_SIZE(audio_map_in2_se));
472 snd_soc_add_controls(codec, wm9090_in2_se_controls, 473 snd_soc_add_controls(codec, wm9090_in2_se_controls,
473 ARRAY_SIZE(wm9090_in2_se_controls)); 474 ARRAY_SIZE(wm9090_in2_se_controls));
@@ -514,7 +515,7 @@ static int wm9090_set_bias_level(struct snd_soc_codec *codec,
514 break; 515 break;
515 516
516 case SND_SOC_BIAS_STANDBY: 517 case SND_SOC_BIAS_STANDBY:
517 if (codec->bias_level == SND_SOC_BIAS_OFF) { 518 if (codec->dapm.bias_level == SND_SOC_BIAS_OFF) {
518 /* Restore the register cache */ 519 /* Restore the register cache */
519 for (i = 1; i < codec->driver->reg_cache_size; i++) { 520 for (i = 1; i < codec->driver->reg_cache_size; i++) {
520 if (reg_cache[i] == wm9090_reg_defaults[i]) 521 if (reg_cache[i] == wm9090_reg_defaults[i])
@@ -544,7 +545,7 @@ static int wm9090_set_bias_level(struct snd_soc_codec *codec,
544 break; 545 break;
545 } 546 }
546 547
547 codec->bias_level = level; 548 codec->dapm.bias_level = level;
548 549
549 return 0; 550 return 0;
550} 551}