summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMark Brown <broonie@opensource.wolfsonmicro.com>2012-06-11 18:23:13 +0800
committerMark Brown <broonie@opensource.wolfsonmicro.com>2012-06-11 20:20:38 +0800
commitdb1334098392e1278a113e629a7ae58a7453f83f (patch)
tree5324898d3f513796930027897c9a125e3b6fd612
parent90ba6859ce914feff3632eeb7227b9f99c030ca9 (diff)
downloadop-kernel-dev-db1334098392e1278a113e629a7ae58a7453f83f.zip
op-kernel-dev-db1334098392e1278a113e629a7ae58a7453f83f.tar.gz
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 379bd1e..64d9cf7 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,
OpenPOWER on IntegriCloud