diff options
author | Mark Brown <broonie@opensource.wolfsonmicro.com> | 2012-06-11 12:23:13 +0200 |
---|---|---|
committer | Mark Brown <broonie@opensource.wolfsonmicro.com> | 2012-06-11 14:20:38 +0200 |
commit | db1334098392e1278a113e629a7ae58a7453f83f (patch) | |
tree | 5324898d3f513796930027897c9a125e3b6fd612 /sound/soc/codecs/wm8996.c | |
parent | ASoC: wm8996: Remove spurious regulator_bulk_free() (diff) | |
download | linux-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>
Diffstat (limited to 'sound/soc/codecs/wm8996.c')
-rw-r--r-- | sound/soc/codecs/wm8996.c | 4 |
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, |