diff options
author | Mark Brown <broonie@opensource.wolfsonmicro.com> | 2012-06-25 04:52:59 -0400 |
---|---|---|
committer | Mark Brown <broonie@opensource.wolfsonmicro.com> | 2012-06-25 04:52:59 -0400 |
commit | d1e16c1a61d68692dba346f4a841315343b085f4 (patch) | |
tree | 249ec07d1489769fe83b4ec507708455cc0c5138 /sound/soc/codecs/wm8996.c | |
parent | 1573ee81cb9ef24fa5acee6b7442e215e63ede2f (diff) | |
parent | 6b16351acbd415e66ba16bf7d473ece1574cf0bc (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.c | 8 |
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, |