diff options
Diffstat (limited to 'sound/soc/codecs/wm8731.c')
-rw-r--r-- | sound/soc/codecs/wm8731.c | 28 |
1 files changed, 14 insertions, 14 deletions
diff --git a/sound/soc/codecs/wm8731.c b/sound/soc/codecs/wm8731.c index 0cf9265fca8f..0f28aa4bcccb 100644 --- a/sound/soc/codecs/wm8731.c +++ b/sound/soc/codecs/wm8731.c | |||
@@ -435,29 +435,29 @@ static int wm8731_set_dai_fmt(struct snd_soc_codec_dai *codec_dai, | |||
435 | return 0; | 435 | return 0; |
436 | } | 436 | } |
437 | 437 | ||
438 | static int wm8731_dapm_event(struct snd_soc_codec *codec, int event) | 438 | static int wm8731_set_bias_level(struct snd_soc_codec *codec, |
439 | enum snd_soc_bias_level level) | ||
439 | { | 440 | { |
440 | u16 reg = wm8731_read_reg_cache(codec, WM8731_PWR) & 0xff7f; | 441 | u16 reg = wm8731_read_reg_cache(codec, WM8731_PWR) & 0xff7f; |
441 | 442 | ||
442 | switch (event) { | 443 | switch (level) { |
443 | case SNDRV_CTL_POWER_D0: /* full On */ | 444 | case SND_SOC_BIAS_ON: |
444 | /* vref/mid, osc on, dac unmute */ | 445 | /* vref/mid, osc on, dac unmute */ |
445 | wm8731_write(codec, WM8731_PWR, reg); | 446 | wm8731_write(codec, WM8731_PWR, reg); |
446 | break; | 447 | break; |
447 | case SNDRV_CTL_POWER_D1: /* partial On */ | 448 | case SND_SOC_BIAS_PREPARE: |
448 | case SNDRV_CTL_POWER_D2: /* partial On */ | ||
449 | break; | 449 | break; |
450 | case SNDRV_CTL_POWER_D3hot: /* Off, with power */ | 450 | case SND_SOC_BIAS_STANDBY: |
451 | /* everything off except vref/vmid, */ | 451 | /* everything off except vref/vmid, */ |
452 | wm8731_write(codec, WM8731_PWR, reg | 0x0040); | 452 | wm8731_write(codec, WM8731_PWR, reg | 0x0040); |
453 | break; | 453 | break; |
454 | case SNDRV_CTL_POWER_D3cold: /* Off, without power */ | 454 | case SND_SOC_BIAS_OFF: |
455 | /* everything off, dac mute, inactive */ | 455 | /* everything off, dac mute, inactive */ |
456 | wm8731_write(codec, WM8731_ACTIVE, 0x0); | 456 | wm8731_write(codec, WM8731_ACTIVE, 0x0); |
457 | wm8731_write(codec, WM8731_PWR, 0xffff); | 457 | wm8731_write(codec, WM8731_PWR, 0xffff); |
458 | break; | 458 | break; |
459 | } | 459 | } |
460 | codec->dapm_state = event; | 460 | codec->bias_level = level; |
461 | return 0; | 461 | return 0; |
462 | } | 462 | } |
463 | 463 | ||
@@ -503,7 +503,7 @@ static int wm8731_suspend(struct platform_device *pdev, pm_message_t state) | |||
503 | struct snd_soc_codec *codec = socdev->codec; | 503 | struct snd_soc_codec *codec = socdev->codec; |
504 | 504 | ||
505 | wm8731_write(codec, WM8731_ACTIVE, 0x0); | 505 | wm8731_write(codec, WM8731_ACTIVE, 0x0); |
506 | wm8731_dapm_event(codec, SNDRV_CTL_POWER_D3cold); | 506 | wm8731_set_bias_level(codec, SND_SOC_BIAS_OFF); |
507 | return 0; | 507 | return 0; |
508 | } | 508 | } |
509 | 509 | ||
@@ -521,8 +521,8 @@ static int wm8731_resume(struct platform_device *pdev) | |||
521 | data[1] = cache[i] & 0x00ff; | 521 | data[1] = cache[i] & 0x00ff; |
522 | codec->hw_write(codec->control_data, data, 2); | 522 | codec->hw_write(codec->control_data, data, 2); |
523 | } | 523 | } |
524 | wm8731_dapm_event(codec, SNDRV_CTL_POWER_D3hot); | 524 | wm8731_set_bias_level(codec, SND_SOC_BIAS_STANDBY); |
525 | wm8731_dapm_event(codec, codec->suspend_dapm_state); | 525 | wm8731_set_bias_level(codec, codec->suspend_bias_level); |
526 | return 0; | 526 | return 0; |
527 | } | 527 | } |
528 | 528 | ||
@@ -539,7 +539,7 @@ static int wm8731_init(struct snd_soc_device *socdev) | |||
539 | codec->owner = THIS_MODULE; | 539 | codec->owner = THIS_MODULE; |
540 | codec->read = wm8731_read_reg_cache; | 540 | codec->read = wm8731_read_reg_cache; |
541 | codec->write = wm8731_write; | 541 | codec->write = wm8731_write; |
542 | codec->dapm_event = wm8731_dapm_event; | 542 | codec->set_bias_level = wm8731_set_bias_level; |
543 | codec->dai = &wm8731_dai; | 543 | codec->dai = &wm8731_dai; |
544 | codec->num_dai = 1; | 544 | codec->num_dai = 1; |
545 | codec->reg_cache_size = sizeof(wm8731_reg); | 545 | codec->reg_cache_size = sizeof(wm8731_reg); |
@@ -557,7 +557,7 @@ static int wm8731_init(struct snd_soc_device *socdev) | |||
557 | } | 557 | } |
558 | 558 | ||
559 | /* power on device */ | 559 | /* power on device */ |
560 | wm8731_dapm_event(codec, SNDRV_CTL_POWER_D3hot); | 560 | wm8731_set_bias_level(codec, SND_SOC_BIAS_STANDBY); |
561 | 561 | ||
562 | /* set the update bits */ | 562 | /* set the update bits */ |
563 | reg = wm8731_read_reg_cache(codec, WM8731_LOUT1V); | 563 | reg = wm8731_read_reg_cache(codec, WM8731_LOUT1V); |
@@ -730,7 +730,7 @@ static int wm8731_remove(struct platform_device *pdev) | |||
730 | struct snd_soc_codec *codec = socdev->codec; | 730 | struct snd_soc_codec *codec = socdev->codec; |
731 | 731 | ||
732 | if (codec->control_data) | 732 | if (codec->control_data) |
733 | wm8731_dapm_event(codec, SNDRV_CTL_POWER_D3cold); | 733 | wm8731_set_bias_level(codec, SND_SOC_BIAS_OFF); |
734 | 734 | ||
735 | snd_soc_free_pcms(socdev); | 735 | snd_soc_free_pcms(socdev); |
736 | snd_soc_dapm_free(socdev); | 736 | snd_soc_dapm_free(socdev); |