aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMark Brown <broonie@opensource.wolfsonmicro.com>2011-06-07 18:23:52 -0400
committerMark Brown <broonie@opensource.wolfsonmicro.com>2011-06-23 15:05:23 -0400
commitf9acf9fe5be653aa359c75d60fdaff03bf1ef471 (patch)
tree6186dd96f94b368883534c356315692407de9cbd
parentec3ea54c6c7163f5d6bbf52dd1ec485de2c378b6 (diff)
ASoC: Trigger wm_hubs series update startup off a separate flag
Allowing the two to be used independently. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Acked-by: Liam Girdwood <lrg@ti.com>
-rw-r--r--sound/soc/codecs/wm8993.c1
-rw-r--r--sound/soc/codecs/wm8994.c1
-rw-r--r--sound/soc/codecs/wm_hubs.c3
-rw-r--r--sound/soc/codecs/wm_hubs.h1
4 files changed, 4 insertions, 2 deletions
diff --git a/sound/soc/codecs/wm8993.c b/sound/soc/codecs/wm8993.c
index 9e5ff789b805..03af7ada985d 100644
--- a/sound/soc/codecs/wm8993.c
+++ b/sound/soc/codecs/wm8993.c
@@ -1434,6 +1434,7 @@ static int wm8993_probe(struct snd_soc_codec *codec)
1434 1434
1435 wm8993->hubs_data.hp_startup_mode = 1; 1435 wm8993->hubs_data.hp_startup_mode = 1;
1436 wm8993->hubs_data.dcs_codes = -2; 1436 wm8993->hubs_data.dcs_codes = -2;
1437 wm8993->hubs_data.series_startup = 1;
1437 1438
1438 ret = snd_soc_codec_set_cache_io(codec, 8, 16, SND_SOC_I2C); 1439 ret = snd_soc_codec_set_cache_io(codec, 8, 16, SND_SOC_I2C);
1439 if (ret != 0) { 1440 if (ret != 0) {
diff --git a/sound/soc/codecs/wm8994.c b/sound/soc/codecs/wm8994.c
index 970a95c5360b..dc2350e6350b 100644
--- a/sound/soc/codecs/wm8994.c
+++ b/sound/soc/codecs/wm8994.c
@@ -2903,6 +2903,7 @@ static int wm8994_codec_probe(struct snd_soc_codec *codec)
2903 wm8994->hubs.dcs_codes = -5; 2903 wm8994->hubs.dcs_codes = -5;
2904 wm8994->hubs.hp_startup_mode = 1; 2904 wm8994->hubs.hp_startup_mode = 1;
2905 wm8994->hubs.dcs_readback_mode = 1; 2905 wm8994->hubs.dcs_readback_mode = 1;
2906 wm8994->hubs.series_startup = 1;
2906 break; 2907 break;
2907 default: 2908 default:
2908 wm8994->hubs.dcs_readback_mode = 1; 2909 wm8994->hubs.dcs_readback_mode = 1;
diff --git a/sound/soc/codecs/wm_hubs.c b/sound/soc/codecs/wm_hubs.c
index 9e370d14ad88..ee218a80e587 100644
--- a/sound/soc/codecs/wm_hubs.c
+++ b/sound/soc/codecs/wm_hubs.c
@@ -107,8 +107,7 @@ static void calibrate_dc_servo(struct snd_soc_codec *codec)
107 return; 107 return;
108 } 108 }
109 109
110 /* Devices not using a DCS code correction have startup mode */ 110 if (hubs->series_startup) {
111 if (hubs->dcs_codes) {
112 /* Set for 32 series updates */ 111 /* Set for 32 series updates */
113 snd_soc_update_bits(codec, WM8993_DC_SERVO_1, 112 snd_soc_update_bits(codec, WM8993_DC_SERVO_1,
114 WM8993_DCS_SERIES_NO_01_MASK, 113 WM8993_DCS_SERIES_NO_01_MASK,
diff --git a/sound/soc/codecs/wm_hubs.h b/sound/soc/codecs/wm_hubs.h
index f8a5e976b5e6..aeb58712a0e8 100644
--- a/sound/soc/codecs/wm_hubs.h
+++ b/sound/soc/codecs/wm_hubs.h
@@ -23,6 +23,7 @@ struct wm_hubs_data {
23 int dcs_codes; 23 int dcs_codes;
24 int dcs_readback_mode; 24 int dcs_readback_mode;
25 int hp_startup_mode; 25 int hp_startup_mode;
26 int series_startup;
26 27
27 bool class_w; 28 bool class_w;
28 u16 class_w_dcs; 29 u16 class_w_dcs;