aboutsummaryrefslogtreecommitdiffstats
path: root/sound/soc/codecs/wm_hubs.c
diff options
context:
space:
mode:
authorMark Brown <broonie@opensource.wolfsonmicro.com>2012-03-19 13:31:56 -0400
committerMark Brown <broonie@opensource.wolfsonmicro.com>2012-03-19 15:08:12 -0400
commit5472bbc96f1ba666328cc2479b957ed50f5e1550 (patch)
treecc0c99e0226e6ac82e0b67c7880677cc46496d61 /sound/soc/codecs/wm_hubs.c
parent273b72c8ce6b28df6b49423d775c3e59072c73c5 (diff)
ASoC: wm_hubs: Don't actively manage LINEOUT_VMID_BUF
It can just be enabled all the time with no impact. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Diffstat (limited to 'sound/soc/codecs/wm_hubs.c')
-rw-r--r--sound/soc/codecs/wm_hubs.c16
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"),
643SND_SOC_DAPM_SUPPLY("MICBIAS2", WM8993_POWER_MANAGEMENT_1, 5, 0, NULL, 0), 643SND_SOC_DAPM_SUPPLY("MICBIAS2", WM8993_POWER_MANAGEMENT_1, 5, 0, NULL, 0),
644SND_SOC_DAPM_SUPPLY("MICBIAS1", WM8993_POWER_MANAGEMENT_1, 4, 0, NULL, 0), 644SND_SOC_DAPM_SUPPLY("MICBIAS1", WM8993_POWER_MANAGEMENT_1, 4, 0, NULL, 0),
645 645
646SND_SOC_DAPM_SUPPLY("LINEOUT_VMID_BUF", WM8993_ANTIPOP1, 7, 0, NULL, 0),
647
648SND_SOC_DAPM_MIXER("IN1L PGA", WM8993_POWER_MANAGEMENT_2, 6, 0, 646SND_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)),
650SND_SOC_DAPM_MIXER("IN1R PGA", WM8993_POWER_MANAGEMENT_2, 4, 0, 648SND_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
871static const struct snd_soc_dapm_route lineout1_se_routes[] = { 869static 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
892static const struct snd_soc_dapm_route lineout2_se_routes[] = { 888static 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);