Commit 21a37e39 authored by Charles Keepax's avatar Charles Keepax Committed by Mark Brown

ASoC: arizona: Use auto disable muxes for routing

The mixer core on the Arizona devices is powered up whenever any routing
is non-zero. This patch saves a little power and avoids a few difficult
corner cases (around the mixer core being powered whilst there is no
clock available), by using the autodisable mux functionality to only
write out the settings for the muxes when they are powered up.
Signed-off-by: default avatarCharles Keepax <ckeepax@opensource.wolfsonmicro.com>
Signed-off-by: default avatarMark Brown <broonie@kernel.org>
parent b787f68c
...@@ -107,8 +107,8 @@ extern int arizona_mixer_values[ARIZONA_NUM_MIXER_INPUTS]; ...@@ -107,8 +107,8 @@ extern int arizona_mixer_values[ARIZONA_NUM_MIXER_INPUTS];
arizona_mixer_tlv) arizona_mixer_tlv)
#define ARIZONA_MUX_ENUM_DECL(name, reg) \ #define ARIZONA_MUX_ENUM_DECL(name, reg) \
SOC_VALUE_ENUM_SINGLE_DECL(name, reg, 0, 0xff, \ SOC_VALUE_ENUM_SINGLE_AUTODISABLE_DECL( \
arizona_mixer_texts, arizona_mixer_values) name, reg, 0, 0xff, arizona_mixer_texts, arizona_mixer_values)
#define ARIZONA_MUX_CTL_DECL(name) \ #define ARIZONA_MUX_CTL_DECL(name) \
const struct snd_kcontrol_new name##_mux = \ const struct snd_kcontrol_new name##_mux = \
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment