diff options
author | Mark Brown <broonie@opensource.wolfsonmicro.com> | 2012-05-13 08:32:54 -0400 |
---|---|---|
committer | Mark Brown <broonie@opensource.wolfsonmicro.com> | 2012-05-13 08:32:54 -0400 |
commit | dc2af52c0d6d00fd530e4a5e300834cdb1bb1c1c (patch) | |
tree | 4573b99fb11e5b93bd011045039b370ddafe45e6 /sound/soc/codecs/wm_hubs.c | |
parent | f1992dde7fef6713a469a5a142b86812b8a47f9e (diff) | |
parent | 36be50515fe2aef61533b516fa2576a2c7fe7664 (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.c | 15 |
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, |