aboutsummaryrefslogtreecommitdiffstats
path: root/sound/soc/codecs/wm_hubs.h
diff options
context:
space:
mode:
authorMark Brown <broonie@opensource.wolfsonmicro.com>2012-04-26 16:29:29 -0400
committerMark Brown <broonie@opensource.wolfsonmicro.com>2012-04-27 13:42:11 -0400
commitc340304dd8855a61a2e1bcdd5bde6b90408481a9 (patch)
tree720076a2eb7c4f6464851ddfa58b6aa66acbe6c5 /sound/soc/codecs/wm_hubs.h
parentaf31a227e1abee06ccd88c2c52f4fb36b786cebe (diff)
ASoC: wm_hubs: Factor out class W management
Since the analogue portions of the checks for class W are the same over all the devices factor out these checks into wm_hubs and while we're at it also use wm_hubs_dac_hp_direct() to enable class W optimisations on more paths. 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.h6
1 files changed, 6 insertions, 0 deletions
diff --git a/sound/soc/codecs/wm_hubs.h b/sound/soc/codecs/wm_hubs.h
index 8bb9f1b51bf3..71861fc580a3 100644
--- a/sound/soc/codecs/wm_hubs.h
+++ b/sound/soc/codecs/wm_hubs.h
@@ -16,6 +16,7 @@
16 16
17#include <linux/completion.h> 17#include <linux/completion.h>
18#include <linux/interrupt.h> 18#include <linux/interrupt.h>
19#include <sound/control.h>
19 20
20struct snd_soc_codec; 21struct snd_soc_codec;
21 22
@@ -32,6 +33,7 @@ struct wm_hubs_data {
32 33
33 bool no_cache_dac_hp_direct; 34 bool no_cache_dac_hp_direct;
34 u16 dac_hp_direct_dcs; 35 u16 dac_hp_direct_dcs;
36 bool (*check_class_w_digital)(struct snd_soc_codec *);
35 37
36 bool lineout1_se; 38 bool lineout1_se;
37 bool lineout1n_ena; 39 bool lineout1n_ena;
@@ -57,5 +59,9 @@ extern irqreturn_t wm_hubs_dcs_done(int irq, void *data);
57extern void wm_hubs_vmid_ena(struct snd_soc_codec *codec); 59extern void wm_hubs_vmid_ena(struct snd_soc_codec *codec);
58extern void wm_hubs_set_bias_level(struct snd_soc_codec *codec, 60extern void wm_hubs_set_bias_level(struct snd_soc_codec *codec,
59 enum snd_soc_bias_level level); 61 enum snd_soc_bias_level level);
62extern void wm_hubs_update_class_w(struct snd_soc_codec *codec);
63
64extern const struct snd_kcontrol_new wm_hubs_hpl_mux;
65extern const struct snd_kcontrol_new wm_hubs_hpr_mux;
60 66
61#endif 67#endif