diff options
author | Mark Brown <broonie@opensource.wolfsonmicro.com> | 2012-04-27 00:29:29 +0400 |
---|---|---|
committer | Mark Brown <broonie@opensource.wolfsonmicro.com> | 2012-04-27 21:42:11 +0400 |
commit | c340304dd8855a61a2e1bcdd5bde6b90408481a9 (patch) | |
tree | 720076a2eb7c4f6464851ddfa58b6aa66acbe6c5 /sound/soc/codecs/wm_hubs.h | |
parent | af31a227e1abee06ccd88c2c52f4fb36b786cebe (diff) | |
download | linux-c340304dd8855a61a2e1bcdd5bde6b90408481a9.tar.xz |
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.h | 6 |
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 @@ #include <linux/completion.h> #include <linux/interrupt.h> +#include <sound/control.h> struct snd_soc_codec; @@ -32,6 +33,7 @@ struct wm_hubs_data { bool no_cache_dac_hp_direct; u16 dac_hp_direct_dcs; + bool (*check_class_w_digital)(struct snd_soc_codec *); bool lineout1_se; bool lineout1n_ena; @@ -57,5 +59,9 @@ extern irqreturn_t wm_hubs_dcs_done(int irq, void *data); extern void wm_hubs_vmid_ena(struct snd_soc_codec *codec); extern void wm_hubs_set_bias_level(struct snd_soc_codec *codec, enum snd_soc_bias_level level); +extern void wm_hubs_update_class_w(struct snd_soc_codec *codec); + +extern const struct snd_kcontrol_new wm_hubs_hpl_mux; +extern const struct snd_kcontrol_new wm_hubs_hpr_mux; #endif |