diff options
Diffstat (limited to 'sound/soc/codecs/tlv320aic3x.c')
-rw-r--r-- | sound/soc/codecs/tlv320aic3x.c | 26 |
1 files changed, 13 insertions, 13 deletions
diff --git a/sound/soc/codecs/tlv320aic3x.c b/sound/soc/codecs/tlv320aic3x.c index cb8365ac0c02..dc8a38d9e53a 100644 --- a/sound/soc/codecs/tlv320aic3x.c +++ b/sound/soc/codecs/tlv320aic3x.c | |||
@@ -847,13 +847,14 @@ static int aic3x_set_dai_fmt(struct snd_soc_codec_dai *codec_dai, | |||
847 | return 0; | 847 | return 0; |
848 | } | 848 | } |
849 | 849 | ||
850 | static int aic3x_dapm_event(struct snd_soc_codec *codec, int event) | 850 | static int aic3x_set_bias_level(struct snd_soc_codec *codec, |
851 | enum snd_soc_bias_level level) | ||
851 | { | 852 | { |
852 | struct aic3x_priv *aic3x = codec->private_data; | 853 | struct aic3x_priv *aic3x = codec->private_data; |
853 | u8 reg; | 854 | u8 reg; |
854 | 855 | ||
855 | switch (event) { | 856 | switch (level) { |
856 | case SNDRV_CTL_POWER_D0: | 857 | case SND_SOC_BIAS_ON: |
857 | /* all power is driven by DAPM system */ | 858 | /* all power is driven by DAPM system */ |
858 | if (aic3x->master) { | 859 | if (aic3x->master) { |
859 | /* enable pll */ | 860 | /* enable pll */ |
@@ -862,10 +863,9 @@ static int aic3x_dapm_event(struct snd_soc_codec *codec, int event) | |||
862 | reg | PLL_ENABLE); | 863 | reg | PLL_ENABLE); |
863 | } | 864 | } |
864 | break; | 865 | break; |
865 | case SNDRV_CTL_POWER_D1: | 866 | case SND_SOC_BIAS_PREPARE: |
866 | case SNDRV_CTL_POWER_D2: | ||
867 | break; | 867 | break; |
868 | case SNDRV_CTL_POWER_D3hot: | 868 | case SND_SOC_BIAS_STANDBY: |
869 | /* | 869 | /* |
870 | * all power is driven by DAPM system, | 870 | * all power is driven by DAPM system, |
871 | * so output power is safe if bypass was set | 871 | * so output power is safe if bypass was set |
@@ -877,7 +877,7 @@ static int aic3x_dapm_event(struct snd_soc_codec *codec, int event) | |||
877 | reg & ~PLL_ENABLE); | 877 | reg & ~PLL_ENABLE); |
878 | } | 878 | } |
879 | break; | 879 | break; |
880 | case SNDRV_CTL_POWER_D3cold: | 880 | case SND_SOC_BIAS_OFF: |
881 | /* force all power off */ | 881 | /* force all power off */ |
882 | reg = aic3x_read_reg_cache(codec, LINE1L_2_LADC_CTRL); | 882 | reg = aic3x_read_reg_cache(codec, LINE1L_2_LADC_CTRL); |
883 | aic3x_write(codec, LINE1L_2_LADC_CTRL, reg & ~LADC_PWR_ON); | 883 | aic3x_write(codec, LINE1L_2_LADC_CTRL, reg & ~LADC_PWR_ON); |
@@ -913,7 +913,7 @@ static int aic3x_dapm_event(struct snd_soc_codec *codec, int event) | |||
913 | } | 913 | } |
914 | break; | 914 | break; |
915 | } | 915 | } |
916 | codec->dapm_state = event; | 916 | codec->bias_level = level; |
917 | 917 | ||
918 | return 0; | 918 | return 0; |
919 | } | 919 | } |
@@ -979,7 +979,7 @@ static int aic3x_suspend(struct platform_device *pdev, pm_message_t state) | |||
979 | struct snd_soc_device *socdev = platform_get_drvdata(pdev); | 979 | struct snd_soc_device *socdev = platform_get_drvdata(pdev); |
980 | struct snd_soc_codec *codec = socdev->codec; | 980 | struct snd_soc_codec *codec = socdev->codec; |
981 | 981 | ||
982 | aic3x_dapm_event(codec, SNDRV_CTL_POWER_D3cold); | 982 | aic3x_set_bias_level(codec, SND_SOC_BIAS_OFF); |
983 | 983 | ||
984 | return 0; | 984 | return 0; |
985 | } | 985 | } |
@@ -999,7 +999,7 @@ static int aic3x_resume(struct platform_device *pdev) | |||
999 | codec->hw_write(codec->control_data, data, 2); | 999 | codec->hw_write(codec->control_data, data, 2); |
1000 | } | 1000 | } |
1001 | 1001 | ||
1002 | aic3x_dapm_event(codec, codec->suspend_dapm_state); | 1002 | aic3x_set_bias_level(codec, codec->suspend_bias_level); |
1003 | 1003 | ||
1004 | return 0; | 1004 | return 0; |
1005 | } | 1005 | } |
@@ -1018,7 +1018,7 @@ static int aic3x_init(struct snd_soc_device *socdev) | |||
1018 | codec->owner = THIS_MODULE; | 1018 | codec->owner = THIS_MODULE; |
1019 | codec->read = aic3x_read_reg_cache; | 1019 | codec->read = aic3x_read_reg_cache; |
1020 | codec->write = aic3x_write; | 1020 | codec->write = aic3x_write; |
1021 | codec->dapm_event = aic3x_dapm_event; | 1021 | codec->set_bias_level = aic3x_set_bias_level; |
1022 | codec->dai = &aic3x_dai; | 1022 | codec->dai = &aic3x_dai; |
1023 | codec->num_dai = 1; | 1023 | codec->num_dai = 1; |
1024 | codec->reg_cache_size = sizeof(aic3x_reg); | 1024 | codec->reg_cache_size = sizeof(aic3x_reg); |
@@ -1100,7 +1100,7 @@ static int aic3x_init(struct snd_soc_device *socdev) | |||
1100 | aic3x_write(codec, LINE2R_2_MONOLOPM_VOL, DEFAULT_VOL); | 1100 | aic3x_write(codec, LINE2R_2_MONOLOPM_VOL, DEFAULT_VOL); |
1101 | 1101 | ||
1102 | /* off, with power on */ | 1102 | /* off, with power on */ |
1103 | aic3x_dapm_event(codec, SNDRV_CTL_POWER_D3hot); | 1103 | aic3x_set_bias_level(codec, SND_SOC_BIAS_STANDBY); |
1104 | 1104 | ||
1105 | /* setup GPIO functions */ | 1105 | /* setup GPIO functions */ |
1106 | aic3x_write(codec, AIC3X_GPIO1_REG, (setup->gpio_func[0] & 0xf) << 4); | 1106 | aic3x_write(codec, AIC3X_GPIO1_REG, (setup->gpio_func[0] & 0xf) << 4); |
@@ -1271,7 +1271,7 @@ static int aic3x_remove(struct platform_device *pdev) | |||
1271 | 1271 | ||
1272 | /* power down chip */ | 1272 | /* power down chip */ |
1273 | if (codec->control_data) | 1273 | if (codec->control_data) |
1274 | aic3x_dapm_event(codec, SNDRV_CTL_POWER_D3); | 1274 | aic3x_set_bias_level(codec, SND_SOC_BIAS_OFF); |
1275 | 1275 | ||
1276 | snd_soc_free_pcms(socdev); | 1276 | snd_soc_free_pcms(socdev); |
1277 | snd_soc_dapm_free(socdev); | 1277 | snd_soc_dapm_free(socdev); |