aboutsummaryrefslogtreecommitdiffstats
path: root/sound/soc/codecs/wm_hubs.c
diff options
context:
space:
mode:
authorMark Brown <broonie@opensource.wolfsonmicro.com>2012-05-13 08:32:54 -0400
committerMark Brown <broonie@opensource.wolfsonmicro.com>2012-05-13 08:32:54 -0400
commitdc2af52c0d6d00fd530e4a5e300834cdb1bb1c1c (patch)
tree4573b99fb11e5b93bd011045039b370ddafe45e6 /sound/soc/codecs/wm_hubs.c
parentf1992dde7fef6713a469a5a142b86812b8a47f9e (diff)
parent36be50515fe2aef61533b516fa2576a2c7fe7664 (diff)
Merge tag 'v3.4-rc7' into for-3.5
Linux 3.4-rc7 Conflicts): drivers/base/regmap/regmap.c (overlap with bug fixes) sound/soc/blackfin/bf5xx-ssm2602.c (overlap with bug fixes)
Diffstat (limited to 'sound/soc/codecs/wm_hubs.c')
-rw-r--r--sound/soc/codecs/wm_hubs.c15
1 files changed, 9 insertions, 6 deletions
diff --git a/sound/soc/codecs/wm_hubs.c b/sound/soc/codecs/wm_hubs.c
index c424a1e50638..dfe957a47f29 100644
--- a/sound/soc/codecs/wm_hubs.c
+++ b/sound/soc/codecs/wm_hubs.c
@@ -1205,7 +1205,7 @@ void wm_hubs_set_bias_level(struct snd_soc_codec *codec,
1205 enum snd_soc_bias_level level) 1205 enum snd_soc_bias_level level)
1206{ 1206{
1207 struct wm_hubs_data *hubs = snd_soc_codec_get_drvdata(codec); 1207 struct wm_hubs_data *hubs = snd_soc_codec_get_drvdata(codec);
1208 int val; 1208 int mask, val;
1209 1209
1210 switch (level) { 1210 switch (level) {
1211 case SND_SOC_BIAS_STANDBY: 1211 case SND_SOC_BIAS_STANDBY:
@@ -1217,6 +1217,13 @@ void wm_hubs_set_bias_level(struct snd_soc_codec *codec,
1217 case SND_SOC_BIAS_ON: 1217 case SND_SOC_BIAS_ON:
1218 /* Turn off any unneded single ended outputs */ 1218 /* Turn off any unneded single ended outputs */
1219 val = 0; 1219 val = 0;
1220 mask = 0;
1221
1222 if (hubs->lineout1_se)
1223 mask |= WM8993_LINEOUT1N_ENA | WM8993_LINEOUT1P_ENA;
1224
1225 if (hubs->lineout2_se)
1226 mask |= WM8993_LINEOUT2N_ENA | WM8993_LINEOUT2P_ENA;
1220 1227
1221 if (hubs->lineout1_se && hubs->lineout1n_ena) 1228 if (hubs->lineout1_se && hubs->lineout1n_ena)
1222 val |= WM8993_LINEOUT1N_ENA; 1229 val |= WM8993_LINEOUT1N_ENA;
@@ -1231,11 +1238,7 @@ void wm_hubs_set_bias_level(struct snd_soc_codec *codec,
1231 val |= WM8993_LINEOUT2P_ENA; 1238 val |= WM8993_LINEOUT2P_ENA;
1232 1239
1233 snd_soc_update_bits(codec, WM8993_POWER_MANAGEMENT_3, 1240 snd_soc_update_bits(codec, WM8993_POWER_MANAGEMENT_3,
1234 WM8993_LINEOUT1N_ENA | 1241 mask, val);
1235 WM8993_LINEOUT1P_ENA |
1236 WM8993_LINEOUT2N_ENA |
1237 WM8993_LINEOUT2P_ENA,
1238 val);
1239 1242
1240 /* Remove the input clamps */ 1243 /* Remove the input clamps */
1241 snd_soc_update_bits(codec, WM8993_INPUTS_CLAMP_REG, 1244 snd_soc_update_bits(codec, WM8993_INPUTS_CLAMP_REG,