aboutsummaryrefslogtreecommitdiffstats
path: root/sound
diff options
context:
space:
mode:
authorMark Brown <broonie@opensource.wolfsonmicro.com>2012-06-11 06:23:13 -0400
committerMark Brown <broonie@opensource.wolfsonmicro.com>2012-06-11 08:20:38 -0400
commitdb1334098392e1278a113e629a7ae58a7453f83f (patch)
tree5324898d3f513796930027897c9a125e3b6fd612 /sound
parent90ba6859ce914feff3632eeb7227b9f99c030ca9 (diff)
ASoC: wm8996: Move reset before the initial regulator disable
If we don't have control over the LDO but do have control over the other regulators then we may end up trying to write to a powered off device. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Diffstat (limited to 'sound')
-rw-r--r--sound/soc/codecs/wm8996.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/sound/soc/codecs/wm8996.c b/sound/soc/codecs/wm8996.c
index 379bd1e49432..64d9cf7149de 100644
--- a/sound/soc/codecs/wm8996.c
+++ b/sound/soc/codecs/wm8996.c
@@ -3205,14 +3205,14 @@ static __devinit int wm8996_i2c_probe(struct i2c_client *i2c,
3205 dev_info(&i2c->dev, "revision %c\n", 3205 dev_info(&i2c->dev, "revision %c\n",
3206 (reg & WM8996_CHIP_REV_MASK) + 'A'); 3206 (reg & WM8996_CHIP_REV_MASK) + 'A');
3207 3207
3208 regulator_bulk_disable(ARRAY_SIZE(wm8996->supplies), wm8996->supplies);
3209
3210 ret = wm8996_reset(wm8996); 3208 ret = wm8996_reset(wm8996);
3211 if (ret < 0) { 3209 if (ret < 0) {
3212 dev_err(&i2c->dev, "Failed to issue reset\n"); 3210 dev_err(&i2c->dev, "Failed to issue reset\n");
3213 goto err_regmap; 3211 goto err_regmap;
3214 } 3212 }
3215 3213
3214 regulator_bulk_disable(ARRAY_SIZE(wm8996->supplies), wm8996->supplies);
3215
3216 wm8996_init_gpio(wm8996); 3216 wm8996_init_gpio(wm8996);
3217 3217
3218 ret = snd_soc_register_codec(&i2c->dev, 3218 ret = snd_soc_register_codec(&i2c->dev,