[alsa-devel] [asoc-dev][RFC/PATCH 1/3] ASoC: TLV320AIC3X: Modify only interface related bits in aic3x_set_dai_fmt

Jarkko Nikula jarkko.nikula at nokia.com
Wed Jun 25 13:58:45 CEST 2008


Those two serial data interface control register bits have also other
functions and they can be set before aic3x_set_dai_fmt is called.

Signed-off-by: Jarkko Nikula <jarkko.nikula at nokia.com>
---
 sound/soc/codecs/tlv320aic3x.c |    6 ++++--
 1 files changed, 4 insertions(+), 2 deletions(-)

diff --git a/sound/soc/codecs/tlv320aic3x.c b/sound/soc/codecs/tlv320aic3x.c
index 0c7452f..29dc0ec 100644
--- a/sound/soc/codecs/tlv320aic3x.c
+++ b/sound/soc/codecs/tlv320aic3x.c
@@ -809,8 +809,10 @@ static int aic3x_set_dai_fmt(struct snd_soc_codec_dai *codec_dai,
 {
 	struct snd_soc_codec *codec = codec_dai->codec;
 	struct aic3x_priv *aic3x = codec->private_data;
-	u8 iface_areg = 0;
-	u8 iface_breg = 0;
+	u8 iface_areg, iface_breg;
+
+	iface_areg = aic3x_read_reg_cache(codec, AIC3X_ASD_INTF_CTRLA) & 0x3f;
+	iface_breg = aic3x_read_reg_cache(codec, AIC3X_ASD_INTF_CTRLB) & 0x3f;
 
 	/* set master/slave audio interface */
 	switch (fmt & SND_SOC_DAIFMT_MASTER_MASK) {
-- 
1.5.5.4



More information about the Alsa-devel mailing list