summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMark Brown <broonie@opensource.wolfsonmicro.com>2012-06-11 12:23:13 +0200
committerMark Brown <broonie@opensource.wolfsonmicro.com>2012-06-11 14:20:38 +0200
commitdb1334098392e1278a113e629a7ae58a7453f83f (patch)
tree5324898d3f513796930027897c9a125e3b6fd612
parentASoC: wm8996: Remove spurious regulator_bulk_free() (diff)
downloadlinux-db1334098392e1278a113e629a7ae58a7453f83f.tar.xz
linux-db1334098392e1278a113e629a7ae58a7453f83f.zip
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>
-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,
dev_info(&i2c->dev, "revision %c\n",
(reg & WM8996_CHIP_REV_MASK) + 'A');
- regulator_bulk_disable(ARRAY_SIZE(wm8996->supplies), wm8996->supplies);
-
ret = wm8996_reset(wm8996);
if (ret < 0) {
dev_err(&i2c->dev, "Failed to issue reset\n");
goto err_regmap;
}
+ regulator_bulk_disable(ARRAY_SIZE(wm8996->supplies), wm8996->supplies);
+
wm8996_init_gpio(wm8996);
ret = snd_soc_register_codec(&i2c->dev,