aboutsummaryrefslogtreecommitdiffstats
path: root/sound/soc/codecs/wm_hubs.h
diff options
context:
space:
mode:
authorMark Brown <broonie@opensource.wolfsonmicro.com>2012-05-01 18:45:09 +0100
committerMark Brown <broonie@opensource.wolfsonmicro.com>2012-05-01 19:21:07 +0100
commit94aa733a477dd5fe6eb153e5b6741488d743fab5 (patch)
tree676e6e4c3a7d8623360ddf246829fd21079cc002 /sound/soc/codecs/wm_hubs.h
parentASoC: tegra: add device tree support for TrimSlice (diff)
downloadlinux-dev-94aa733a477dd5fe6eb153e5b6741488d743fab5.tar.xz
linux-dev-94aa733a477dd5fe6eb153e5b6741488d743fab5.zip
ASoC: wm_hubs: Cache multiple DCS offsets
Rather than invalidating the cached DCS value every time the headphone gain changes store multiple values, indexed by gain. This allows the optimisation we get from the cache to take effect more often. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Diffstat (limited to 'sound/soc/codecs/wm_hubs.h')
-rw-r--r--sound/soc/codecs/wm_hubs.h3
1 files changed, 2 insertions, 1 deletions
diff --git a/sound/soc/codecs/wm_hubs.h b/sound/soc/codecs/wm_hubs.h
index 71861fc580a3..da2dc899ce6d 100644
--- a/sound/soc/codecs/wm_hubs.h
+++ b/sound/soc/codecs/wm_hubs.h
@@ -16,6 +16,7 @@
#include <linux/completion.h>
#include <linux/interrupt.h>
+#include <linux/list.h>
#include <sound/control.h>
struct snd_soc_codec;
@@ -32,7 +33,7 @@ struct wm_hubs_data {
int no_series_update;
bool no_cache_dac_hp_direct;
- u16 dac_hp_direct_dcs;
+ struct list_head dcs_cache;
bool (*check_class_w_digital)(struct snd_soc_codec *);
bool lineout1_se;