diff options
-rw-r--r-- | sound/soc/codecs/wm_hubs.c | 16 |
1 files changed, 5 insertions, 11 deletions
diff --git a/sound/soc/codecs/wm_hubs.c b/sound/soc/codecs/wm_hubs.c index c08d1c2f346f..f13f2886339c 100644 --- a/sound/soc/codecs/wm_hubs.c +++ b/sound/soc/codecs/wm_hubs.c | |||
@@ -643,8 +643,6 @@ SND_SOC_DAPM_INPUT("IN2RP:VXRP"), | |||
643 | SND_SOC_DAPM_SUPPLY("MICBIAS2", WM8993_POWER_MANAGEMENT_1, 5, 0, NULL, 0), | 643 | SND_SOC_DAPM_SUPPLY("MICBIAS2", WM8993_POWER_MANAGEMENT_1, 5, 0, NULL, 0), |
644 | SND_SOC_DAPM_SUPPLY("MICBIAS1", WM8993_POWER_MANAGEMENT_1, 4, 0, NULL, 0), | 644 | SND_SOC_DAPM_SUPPLY("MICBIAS1", WM8993_POWER_MANAGEMENT_1, 4, 0, NULL, 0), |
645 | 645 | ||
646 | SND_SOC_DAPM_SUPPLY("LINEOUT_VMID_BUF", WM8993_ANTIPOP1, 7, 0, NULL, 0), | ||
647 | |||
648 | SND_SOC_DAPM_MIXER("IN1L PGA", WM8993_POWER_MANAGEMENT_2, 6, 0, | 646 | SND_SOC_DAPM_MIXER("IN1L PGA", WM8993_POWER_MANAGEMENT_2, 6, 0, |
649 | in1l_pga, ARRAY_SIZE(in1l_pga)), | 647 | in1l_pga, ARRAY_SIZE(in1l_pga)), |
650 | SND_SOC_DAPM_MIXER("IN1R PGA", WM8993_POWER_MANAGEMENT_2, 4, 0, | 648 | SND_SOC_DAPM_MIXER("IN1R PGA", WM8993_POWER_MANAGEMENT_2, 4, 0, |
@@ -869,11 +867,9 @@ static const struct snd_soc_dapm_route lineout1_diff_routes[] = { | |||
869 | }; | 867 | }; |
870 | 868 | ||
871 | static const struct snd_soc_dapm_route lineout1_se_routes[] = { | 869 | static const struct snd_soc_dapm_route lineout1_se_routes[] = { |
872 | { "LINEOUT1N Mixer", NULL, "LINEOUT_VMID_BUF" }, | ||
873 | { "LINEOUT1N Mixer", "Left Output Switch", "Left Output PGA" }, | 870 | { "LINEOUT1N Mixer", "Left Output Switch", "Left Output PGA" }, |
874 | { "LINEOUT1N Mixer", "Right Output Switch", "Right Output PGA" }, | 871 | { "LINEOUT1N Mixer", "Right Output Switch", "Right Output PGA" }, |
875 | 872 | ||
876 | { "LINEOUT1P Mixer", NULL, "LINEOUT_VMID_BUF" }, | ||
877 | { "LINEOUT1P Mixer", "Left Output Switch", "Left Output PGA" }, | 873 | { "LINEOUT1P Mixer", "Left Output Switch", "Left Output PGA" }, |
878 | 874 | ||
879 | { "LINEOUT1N Driver", NULL, "LINEOUT1N Mixer" }, | 875 | { "LINEOUT1N Driver", NULL, "LINEOUT1N Mixer" }, |
@@ -890,11 +886,9 @@ static const struct snd_soc_dapm_route lineout2_diff_routes[] = { | |||
890 | }; | 886 | }; |
891 | 887 | ||
892 | static const struct snd_soc_dapm_route lineout2_se_routes[] = { | 888 | static const struct snd_soc_dapm_route lineout2_se_routes[] = { |
893 | { "LINEOUT2N Mixer", NULL, "LINEOUT_VMID_BUF" }, | ||
894 | { "LINEOUT2N Mixer", "Left Output Switch", "Left Output PGA" }, | 889 | { "LINEOUT2N Mixer", "Left Output Switch", "Left Output PGA" }, |
895 | { "LINEOUT2N Mixer", "Right Output Switch", "Right Output PGA" }, | 890 | { "LINEOUT2N Mixer", "Right Output Switch", "Right Output PGA" }, |
896 | 891 | ||
897 | { "LINEOUT2P Mixer", NULL, "LINEOUT_VMID_BUF" }, | ||
898 | { "LINEOUT2P Mixer", "Right Output Switch", "Right Output PGA" }, | 892 | { "LINEOUT2P Mixer", "Right Output Switch", "Right Output PGA" }, |
899 | 893 | ||
900 | { "LINEOUT2N Driver", NULL, "LINEOUT2N Mixer" }, | 894 | { "LINEOUT2N Driver", NULL, "LINEOUT2N Mixer" }, |
@@ -996,6 +990,11 @@ int wm_hubs_handle_analogue_pdata(struct snd_soc_codec *codec, | |||
996 | WM8993_LINEOUT2_MODE, | 990 | WM8993_LINEOUT2_MODE, |
997 | WM8993_LINEOUT2_MODE); | 991 | WM8993_LINEOUT2_MODE); |
998 | 992 | ||
993 | if (!lineout1_diff && !lineout2_diff) | ||
994 | snd_soc_update_bits(codec, WM8993_ANTIPOP1, | ||
995 | WM8993_LINEOUT_VMID_BUF_ENA, | ||
996 | WM8993_LINEOUT_VMID_BUF_ENA); | ||
997 | |||
999 | if (lineout1fb) | 998 | if (lineout1fb) |
1000 | snd_soc_update_bits(codec, WM8993_ADDITIONAL_CONTROL, | 999 | snd_soc_update_bits(codec, WM8993_ADDITIONAL_CONTROL, |
1001 | WM8993_LINEOUT1_FB, WM8993_LINEOUT1_FB); | 1000 | WM8993_LINEOUT1_FB, WM8993_LINEOUT1_FB); |
@@ -1068,11 +1067,6 @@ void wm_hubs_set_bias_level(struct snd_soc_codec *codec, | |||
1068 | WM8993_LINEOUT2P_ENA, | 1067 | WM8993_LINEOUT2P_ENA, |
1069 | val); | 1068 | val); |
1070 | 1069 | ||
1071 | if (!hubs->lineout1n_ena && !hubs->lineout1p_ena && | ||
1072 | !hubs->lineout2n_ena && !hubs->lineout2p_ena) | ||
1073 | snd_soc_update_bits(codec, WM8993_ANTIPOP1, | ||
1074 | WM8993_LINEOUT_VMID_BUF_ENA, 0); | ||
1075 | |||
1076 | /* Remove the input clamps */ | 1070 | /* Remove the input clamps */ |
1077 | snd_soc_update_bits(codec, WM8993_INPUTS_CLAMP_REG, | 1071 | snd_soc_update_bits(codec, WM8993_INPUTS_CLAMP_REG, |
1078 | WM8993_INPUTS_CLAMP, 0); | 1072 | WM8993_INPUTS_CLAMP, 0); |