aboutsummaryrefslogtreecommitdiffstats
path: root/sound/soc/codecs/wm8996.c
diff options
context:
space:
mode:
authorMark Brown <broonie@opensource.wolfsonmicro.com>2012-06-25 04:52:59 -0400
committerMark Brown <broonie@opensource.wolfsonmicro.com>2012-06-25 04:52:59 -0400
commitd1e16c1a61d68692dba346f4a841315343b085f4 (patch)
tree249ec07d1489769fe83b4ec507708455cc0c5138 /sound/soc/codecs/wm8996.c
parent1573ee81cb9ef24fa5acee6b7442e215e63ede2f (diff)
parent6b16351acbd415e66ba16bf7d473ece1574cf0bc (diff)
Merge tag 'v3.5-rc4' into for-3.6
Linux 3.5-rc4 contains some bug fixes which overlap with new features.
Diffstat (limited to 'sound/soc/codecs/wm8996.c')
-rw-r--r--sound/soc/codecs/wm8996.c8
1 files changed, 3 insertions, 5 deletions
diff --git a/sound/soc/codecs/wm8996.c b/sound/soc/codecs/wm8996.c
index a6b5cffa498a..49e0e8d6663e 100644
--- a/sound/soc/codecs/wm8996.c
+++ b/sound/soc/codecs/wm8996.c
@@ -2659,8 +2659,6 @@ static int wm8996_probe(struct snd_soc_codec *codec)
2659 } 2659 }
2660 } 2660 }
2661 2661
2662 regcache_cache_only(codec->control_data, true);
2663
2664 /* Apply platform data settings */ 2662 /* Apply platform data settings */
2665 snd_soc_update_bits(codec, WM8996_LINE_INPUT_CONTROL, 2663 snd_soc_update_bits(codec, WM8996_LINE_INPUT_CONTROL,
2666 WM8996_INL_MODE_MASK | WM8996_INR_MODE_MASK, 2664 WM8996_INL_MODE_MASK | WM8996_INR_MODE_MASK,
@@ -2873,7 +2871,6 @@ static int wm8996_remove(struct snd_soc_codec *codec)
2873 for (i = 0; i < ARRAY_SIZE(wm8996->supplies); i++) 2871 for (i = 0; i < ARRAY_SIZE(wm8996->supplies); i++)
2874 regulator_unregister_notifier(wm8996->supplies[i].consumer, 2872 regulator_unregister_notifier(wm8996->supplies[i].consumer,
2875 &wm8996->disable_nb[i]); 2873 &wm8996->disable_nb[i]);
2876 regulator_bulk_free(ARRAY_SIZE(wm8996->supplies), wm8996->supplies);
2877 2874
2878 return 0; 2875 return 0;
2879} 2876}
@@ -3028,14 +3025,15 @@ static __devinit int wm8996_i2c_probe(struct i2c_client *i2c,
3028 dev_info(&i2c->dev, "revision %c\n", 3025 dev_info(&i2c->dev, "revision %c\n",
3029 (reg & WM8996_CHIP_REV_MASK) + 'A'); 3026 (reg & WM8996_CHIP_REV_MASK) + 'A');
3030 3027
3031 regulator_bulk_disable(ARRAY_SIZE(wm8996->supplies), wm8996->supplies);
3032
3033 ret = wm8996_reset(wm8996); 3028 ret = wm8996_reset(wm8996);
3034 if (ret < 0) { 3029 if (ret < 0) {
3035 dev_err(&i2c->dev, "Failed to issue reset\n"); 3030 dev_err(&i2c->dev, "Failed to issue reset\n");
3036 goto err_regmap; 3031 goto err_regmap;
3037 } 3032 }
3038 3033
3034 regcache_cache_only(wm8996->regmap, true);
3035 regulator_bulk_disable(ARRAY_SIZE(wm8996->supplies), wm8996->supplies);
3036
3039 wm8996_init_gpio(wm8996); 3037 wm8996_init_gpio(wm8996);
3040 3038
3041 ret = snd_soc_register_codec(&i2c->dev, 3039 ret = snd_soc_register_codec(&i2c->dev,