diff options
author | Shengjiu Wang <shengjiu.wang@freescale.com> | 2015-05-20 18:20:51 +0800 |
---|---|---|
committer | Shengjiu Wang <shengjiu.wang@freescale.com> | 2015-06-01 18:13:12 +0800 |
commit | 3e2891afeff52aec593ac619efd7fa6ce6e4eca5 (patch) | |
tree | 334b0a4e1892fba22eba47fc1fa26175975ff6bd /sound | |
parent | 9687aa5bbf5dd91b57f6e8b4b8ce69bf20e29c43 (diff) |
MLK-11004-2: ASoC: CS42xx8: can't use PWR as PGA widget
Revert "ENGR00320678 ASoC: cs42xx8: Revert the DAPM routes to the old one"
When PWR is PGA widget, it is used by input route and output rate, there is
a circle route "AINxL -> PWR -> AOUTxL", alsa driver will open this audio
route in kernel boot up, and refcount of pm enable is set to 1 by soc-dapm,
which cause the codec can't enter pm_suspend.
This reverts commit 8256b071de4ce0971f00f819fae3defa44fe892d.
Signed-off-by: Shengjiu Wang <shengjiu.wang@freescale.com>
Diffstat (limited to 'sound')
-rw-r--r-- | sound/soc/codecs/cs42xx8.c | 46 |
1 files changed, 17 insertions, 29 deletions
diff --git a/sound/soc/codecs/cs42xx8.c b/sound/soc/codecs/cs42xx8.c index 41a82ab89974..7dff0698e4d8 100644 --- a/sound/soc/codecs/cs42xx8.c +++ b/sound/soc/codecs/cs42xx8.c @@ -128,7 +128,7 @@ static const struct snd_soc_dapm_widget cs42xx8_dapm_widgets[] = { SND_SOC_DAPM_INPUT("AIN2L"), SND_SOC_DAPM_INPUT("AIN2R"), - SND_SOC_DAPM_PGA_E("PWR", CS42XX8_PWRCTL, 0, 1, NULL, 0, NULL, 0), + SND_SOC_DAPM_SUPPLY("PWR", CS42XX8_PWRCTL, 0, 1, NULL, 0), }; static const struct snd_soc_dapm_widget cs42xx8_adc3_dapm_widgets[] = { @@ -140,41 +140,29 @@ static const struct snd_soc_dapm_widget cs42xx8_adc3_dapm_widgets[] = { static const struct snd_soc_dapm_route cs42xx8_dapm_routes[] = { /* Playback */ - { "PWR", NULL, "DAC1" }, - { "PWR", NULL, "DAC1" }, + { "AOUT1L", NULL, "DAC1" }, + { "AOUT1R", NULL, "DAC1" }, + { "DAC1", NULL, "PWR" }, - { "PWR", NULL, "DAC2" }, - { "PWR", NULL, "DAC2" }, + { "AOUT2L", NULL, "DAC2" }, + { "AOUT2R", NULL, "DAC2" }, + { "DAC2", NULL, "PWR" }, - { "PWR", NULL, "DAC3" }, - { "PWR", NULL, "DAC3" }, + { "AOUT3L", NULL, "DAC3" }, + { "AOUT3R", NULL, "DAC3" }, + { "DAC3", NULL, "PWR" }, - { "PWR", NULL, "DAC4" }, - { "PWR", NULL, "DAC4" }, - - { "AOUT1L", NULL, "PWR" }, - { "AOUT1R", NULL, "PWR" }, - - { "AOUT2L", NULL, "PWR" }, - { "AOUT2R", NULL, "PWR" }, - - { "AOUT3L", NULL, "PWR" }, - { "AOUT3R", NULL, "PWR" }, - - { "AOUT4L", NULL, "PWR" }, - { "AOUT4R", NULL, "PWR" }, + { "AOUT4L", NULL, "DAC4" }, + { "AOUT4R", NULL, "DAC4" }, + { "DAC4", NULL, "PWR" }, /* Capture */ - { "PWR", NULL, "AIN1L" }, - { "PWR", NULL, "AIN1R" }, - - { "PWR", NULL, "AIN2L" }, - { "PWR", NULL, "AIN2R" }, - - { "ADC1", NULL, "PWR" }, + { "ADC1", NULL, "AIN1L" }, + { "ADC1", NULL, "AIN1R" }, { "ADC1", NULL, "PWR" }, - { "ADC2", NULL, "PWR" }, + { "ADC2", NULL, "AIN2L" }, + { "ADC2", NULL, "AIN2R" }, { "ADC2", NULL, "PWR" }, }; |