summary refs log tree commit diff
path: root/sound/soc/codecs/wm_hubs.c
diff options
context:
space:
mode:
authorMark Brown <broonie@opensource.wolfsonmicro.com>2009-09-02 18:51:19 +0100
committerMark Brown <broonie@opensource.wolfsonmicro.com>2009-09-02 19:36:22 +0100
commit2eff31e8096513d03b0b6484b85fd2c417eb87e8 (patch)
treed84f4ada91be0842a03ea8a973b8ae7a3b1664e9 /sound/soc/codecs/wm_hubs.c
parent5c0d38c9478e79ab7deb1b470dd181d2308a608e (diff)
downloadlinux-2eff31e8096513d03b0b6484b85fd2c417eb87e8.tar.gz
ASoC: Fully specify DC servo bits to update in wm_hubs
Avoids potential issues if we read back unexpected values during
a read/modify/write cycle.

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.c12
1 files changed, 2 insertions, 10 deletions
diff --git a/sound/soc/codecs/wm_hubs.c b/sound/soc/codecs/wm_hubs.c
index 41699bd1986c..e542027eea89 100644
--- a/sound/soc/codecs/wm_hubs.c
+++ b/sound/soc/codecs/wm_hubs.c
@@ -273,17 +273,12 @@ static int hp_event(struct snd_soc_dapm_widget *w,
 
 		/* Start the DC servo */
 		snd_soc_update_bits(codec, WM8993_DC_SERVO_0,
-				    WM8993_DCS_ENA_CHAN_0 |
-				    WM8993_DCS_ENA_CHAN_1 |
-				    WM8993_DCS_TRIG_STARTUP_1 |
-				    WM8993_DCS_TRIG_STARTUP_0,
+				    0xFFFF,
 				    WM8993_DCS_ENA_CHAN_0 |
 				    WM8993_DCS_ENA_CHAN_1 |
 				    WM8993_DCS_TRIG_STARTUP_1 |
 				    WM8993_DCS_TRIG_STARTUP_0);
 		wait_for_dc_servo(codec);
-		snd_soc_update_bits(codec, WM8993_DC_SERVO_1,
-				    WM8993_DCS_TIMER_PERIOD_01_MASK, 0xa);
 
 		reg |= WM8993_HPOUT1R_OUTP | WM8993_HPOUT1R_RMV_SHORT |
 			WM8993_HPOUT1L_OUTP | WM8993_HPOUT1L_RMV_SHORT;
@@ -298,11 +293,8 @@ static int hp_event(struct snd_soc_dapm_widget *w,
 			 WM8993_HPOUT1R_DLY |
 			 WM8993_HPOUT1R_OUTP);
 
-		snd_soc_update_bits(codec, WM8993_DC_SERVO_1,
-				    WM8993_DCS_TIMER_PERIOD_01_MASK, 0);
 		snd_soc_update_bits(codec, WM8993_DC_SERVO_0,
-				    WM8993_DCS_ENA_CHAN_0 |
-				    WM8993_DCS_ENA_CHAN_1, 0);
+				    0xffff, 0);
 
 		snd_soc_write(codec, WM8993_ANALOGUE_HP_0, reg);
 		snd_soc_update_bits(codec, WM8993_POWER_MANAGEMENT_1,