diff options
author | Mark Brown <broonie@opensource.wolfsonmicro.com> | 2012-01-31 15:20:24 +0000 |
---|---|---|
committer | Mark Brown <broonie@opensource.wolfsonmicro.com> | 2012-01-31 15:25:12 +0000 |
commit | 489773c22397c001f54ba4f30856f24407d8d091 (patch) | |
tree | 213eda6b5448e34e1b6d73f8969a914e99f8c861 /sound/soc/codecs/wm8993.c | |
parent | bc122e34469de6ec4b7ca96d3a41724f9e4b1cf4 (diff) | |
download | op-kernel-dev-489773c22397c001f54ba4f30856f24407d8d091.zip op-kernel-dev-489773c22397c001f54ba4f30856f24407d8d091.tar.gz |
ASoC: wm8993: Convert to use a regmap patch
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Diffstat (limited to 'sound/soc/codecs/wm8993.c')
-rw-r--r-- | sound/soc/codecs/wm8993.c | 18 |
1 files changed, 13 insertions, 5 deletions
diff --git a/sound/soc/codecs/wm8993.c b/sound/soc/codecs/wm8993.c index dd687c3..474dc72 100644 --- a/sound/soc/codecs/wm8993.c +++ b/sound/soc/codecs/wm8993.c @@ -1077,11 +1077,6 @@ static int wm8993_set_bias_level(struct snd_soc_codec *codec, regcache_cache_only(wm8993->regmap, false); regcache_sync(wm8993->regmap); - /* Tune DC servo configuration */ - snd_soc_write(codec, 0x44, 3); - snd_soc_write(codec, 0x56, 3); - snd_soc_write(codec, 0x44, 0); - /* Bring up VMID with fast soft start */ snd_soc_update_bits(codec, WM8993_ANTIPOP2, WM8993_STARTUP_BIAS_ENA | @@ -1691,6 +1686,13 @@ static int wm8993_resume(struct snd_soc_codec *codec) #define wm8993_resume NULL #endif +/* Tune DC servo configuration */ +static struct reg_default wm8993_regmap_patch[] = { + { 0x44, 3 }, + { 0x56, 3 }, + { 0x44, 0 }, +}; + static const struct regmap_config wm8993_regmap = { .reg_bits = 8, .val_bits = 16, @@ -1769,6 +1771,12 @@ static __devinit int wm8993_i2c_probe(struct i2c_client *i2c, if (ret != 0) goto err_enable; + ret = regmap_register_patch(wm8993->regmap, wm8993_regmap_patch, + ARRAY_SIZE(wm8993_regmap_patch)); + if (ret != 0) + dev_warn(wm8993->dev, "Failed to apply regmap patch: %d\n", + ret); + if (i2c->irq) { /* Put GPIO1 into interrupt mode (only GPIO1 can output IRQ) */ ret = regmap_update_bits(wm8993->regmap, WM8993_GPIO1, |