aboutsummaryrefslogtreecommitdiffstats
path: root/sound/soc
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2012-03-22 23:33:14 -0400
committerLinus Torvalds <torvalds@linux-foundation.org>2012-03-22 23:33:14 -0400
commit9586c959bfc917695893bef0102433a7d0675691 (patch)
treec8b89e40b7a04c3150e50785e7c48b67df360c83 /sound/soc
parent34699403e9916060af8ae23f5e4705a6c078e79d (diff)
parentaddfd8a09e1f434a73b3d87d36ef050c73511d2b (diff)
Merge tag 'regmap-3.4' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regmap
Pull regmap updates from Mark Brown: "Things are really quieting down with the regmap API, while we're still seeing a trickle of new features coming in they're getting much smaller than they were. It's also nice to have some features which support other subsystems building infrastructure on top of regmap. Highlights include: - Support for padding between the register and the value when interacting with the device, sometimes needed for fast interfaces. - Support for applying register updates to the device when restoring the register state. This is intended to be used to apply updates supplied by manufacturers for tuning the performance of the device (many of which are to undocumented registers which aren't otherwise covered). - Support for multi-register operations on cached registers. - Support for syncing only part of the register cache. - Stubs and parameter query functions intended to make it easier for other subsystems to build infrastructure on top of the regmap API. plus a few driver updates making use of the new features which it was easier to merge via this tree." * tag 'regmap-3.4' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regmap: (41 commits) regmap: Fix future missing prototype of devres_alloc() and friends regmap: Rejig struct declarations for stubbed API regmap: Fix rbtree block base in sync regcache: Make sure we sync register 0 in an rbtree cache regmap: delete unused module.h from drivers/base/regmap files regmap: Add stub for regcache_sync_region() mfd: Improve performance of later WM1811 revisions regmap: Fix x86_64 breakage regmap: Allow drivers to sync only part of the register cache regmap: Supply ranges to the sync operations regmap: Add tracepoints for cache only and cache bypass regmap: Mark the cache as clean after a successful sync regmap: Remove default cache sync implementation regmap: Skip hardware defaults for LZO caches regmap: Expose the driver name in debugfs mfd: wm8400: Convert to devm_regmap_init_i2c() mfd: wm831x: Convert to devm_regmap_init() mfd: wm8994: Convert to devm_regmap_init() mfd/ASoC: Convert WM8994 driver to use regmap patches mfd: Add __devinit and __devexit annotations in wm8994 ...
Diffstat (limited to 'sound/soc')
-rw-r--r--sound/soc/codecs/wm8994.c25
1 files changed, 1 insertions, 24 deletions
diff --git a/sound/soc/codecs/wm8994.c b/sound/soc/codecs/wm8994.c
index 9685dff44dd8..fe7fbaeb7146 100644
--- a/sound/soc/codecs/wm8994.c
+++ b/sound/soc/codecs/wm8994.c
@@ -2181,26 +2181,9 @@ static int wm8994_set_bias_level(struct snd_soc_codec *codec,
2181 case SND_SOC_BIAS_STANDBY: 2181 case SND_SOC_BIAS_STANDBY:
2182 if (codec->dapm.bias_level == SND_SOC_BIAS_OFF) { 2182 if (codec->dapm.bias_level == SND_SOC_BIAS_OFF) {
2183 switch (control->type) { 2183 switch (control->type) {
2184 case WM8994:
2185 if (wm8994->revision < 4) {
2186 /* Tweak DC servo and DSP
2187 * configuration for improved
2188 * performance. */
2189 snd_soc_write(codec, 0x102, 0x3);
2190 snd_soc_write(codec, 0x56, 0x3);
2191 snd_soc_write(codec, 0x817, 0);
2192 snd_soc_write(codec, 0x102, 0);
2193 }
2194 break;
2195
2196 case WM8958: 2184 case WM8958:
2197 if (wm8994->revision == 0) { 2185 if (wm8994->revision == 0) {
2198 /* Optimise performance for rev A */ 2186 /* Optimise performance for rev A */
2199 snd_soc_write(codec, 0x102, 0x3);
2200 snd_soc_write(codec, 0xcb, 0x81);
2201 snd_soc_write(codec, 0x817, 0);
2202 snd_soc_write(codec, 0x102, 0);
2203
2204 snd_soc_update_bits(codec, 2187 snd_soc_update_bits(codec,
2205 WM8958_CHARGE_PUMP_2, 2188 WM8958_CHARGE_PUMP_2,
2206 WM8958_CP_DISCH, 2189 WM8958_CP_DISCH,
@@ -2208,13 +2191,7 @@ static int wm8994_set_bias_level(struct snd_soc_codec *codec,
2208 } 2191 }
2209 break; 2192 break;
2210 2193
2211 case WM1811: 2194 default:
2212 if (wm8994->revision < 2) {
2213 snd_soc_write(codec, 0x102, 0x3);
2214 snd_soc_write(codec, 0x5d, 0x7e);
2215 snd_soc_write(codec, 0x5e, 0x0);
2216 snd_soc_write(codec, 0x102, 0x0);
2217 }
2218 break; 2195 break;
2219 } 2196 }
2220 2197