ASoC: tlv320aic32x4: Use snd_soc_update_bits() in aic32x4_mute()
authorAndrew F. Davis <afd@ti.com>
Tue, 12 Dec 2017 22:43:08 +0000 (16:43 -0600)
committerMark Brown <broonie@kernel.org>
Wed, 13 Dec 2017 12:28:30 +0000 (12:28 +0000)
Simplify mute function by using snd_soc_update_bits() over
read/modify/write style code.

Signed-off-by: Andrew F. Davis <afd@ti.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
sound/soc/codecs/tlv320aic32x4.c

index e528a8495346c0d5b0e443bdf6799c85237eefb0..5deabe36ae9419f480f64a3c1263ad31c8f92497 100644 (file)
@@ -773,13 +773,10 @@ static int aic32x4_hw_params(struct snd_pcm_substream *substream,
 static int aic32x4_mute(struct snd_soc_dai *dai, int mute)
 {
        struct snd_soc_codec *codec = dai->codec;
-       u8 dac_reg;
 
-       dac_reg = snd_soc_read(codec, AIC32X4_DACMUTE) & ~AIC32X4_MUTEON;
-       if (mute)
-               snd_soc_write(codec, AIC32X4_DACMUTE, dac_reg | AIC32X4_MUTEON);
-       else
-               snd_soc_write(codec, AIC32X4_DACMUTE, dac_reg);
+       snd_soc_update_bits(codec, AIC32X4_DACMUTE,
+                           AIC32X4_MUTEON, mute ? AIC32X4_MUTEON : 0);
+
        return 0;
 }