OSDN Git Service

ASoC: codecs: tlv*: merge .digital_mute() into .mute_stream()
authorKuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Thu, 9 Jul 2020 01:56:25 +0000 (10:56 +0900)
committerMark Brown <broonie@kernel.org>
Thu, 16 Jul 2020 22:06:11 +0000 (23:06 +0100)
snd_soc_dai_digital_mute() is internally using both
mute_stream() (1) or digital_mute() (2), but the difference between
these 2 are only handling direction.
We can merge digital_mute() into mute_stream

int snd_soc_dai_digital_mute(xxx, int direction)
{
...
else if (dai->driver->ops->mute_stream)
(1) return dai->driver->ops->mute_stream(xxx, direction);
else if (direction == SNDRV_PCM_STREAM_PLAYBACK &&
 dai->driver->ops->digital_mute)
(2) return dai->driver->ops->digital_mute(xxx);
...
}

Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Reviewed-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
Link: https://lore.kernel.org/r/874kqhxxhz.wl-kuninori.morimoto.gx@renesas.com
Signed-off-by: Mark Brown <broonie@kernel.org>
sound/soc/codecs/tlv320aic23.c
sound/soc/codecs/tlv320aic26.c
sound/soc/codecs/tlv320aic31xx.c
sound/soc/codecs/tlv320aic32x4.c
sound/soc/codecs/tlv320aic3x.c

index 7d5b6db..2400093 100644 (file)
@@ -404,7 +404,7 @@ static void tlv320aic23_shutdown(struct snd_pcm_substream *substream,
                aic23->requested_adc = 0;
 }
 
-static int tlv320aic23_mute(struct snd_soc_dai *dai, int mute)
+static int tlv320aic23_mute(struct snd_soc_dai *dai, int mute, int direction)
 {
        struct snd_soc_component *component = dai->component;
        u16 reg;
@@ -512,9 +512,10 @@ static const struct snd_soc_dai_ops tlv320aic23_dai_ops = {
        .prepare        = tlv320aic23_pcm_prepare,
        .hw_params      = tlv320aic23_hw_params,
        .shutdown       = tlv320aic23_shutdown,
-       .digital_mute   = tlv320aic23_mute,
+       .mute_stream    = tlv320aic23_mute,
        .set_fmt        = tlv320aic23_set_dai_fmt,
        .set_sysclk     = tlv320aic23_set_dai_sysclk,
+       .no_capture_mute = 1,
 };
 
 static struct snd_soc_dai_driver tlv320aic23_dai = {
index 4569bbc..c7baef8 100644 (file)
@@ -134,7 +134,7 @@ static int aic26_hw_params(struct snd_pcm_substream *substream,
 /*
  * aic26_mute - Mute control to reduce noise when changing audio format
  */
-static int aic26_mute(struct snd_soc_dai *dai, int mute)
+static int aic26_mute(struct snd_soc_dai *dai, int mute, int direction)
 {
        struct snd_soc_component *component = dai->component;
        struct aic26 *aic26 = snd_soc_component_get_drvdata(component);
@@ -211,9 +211,10 @@ static int aic26_set_fmt(struct snd_soc_dai *codec_dai, unsigned int fmt)
 
 static const struct snd_soc_dai_ops aic26_dai_ops = {
        .hw_params      = aic26_hw_params,
-       .digital_mute   = aic26_mute,
+       .mute_stream    = aic26_mute,
        .set_sysclk     = aic26_set_sysclk,
        .set_fmt        = aic26_set_fmt,
+       .no_capture_mute = 1,
 };
 
 static struct snd_soc_dai_driver aic26_dai = {
index 6694e56..a14dd2d 100644 (file)
@@ -972,7 +972,8 @@ static int aic31xx_hw_params(struct snd_pcm_substream *substream,
        return aic31xx_setup_pll(component, params);
 }
 
-static int aic31xx_dac_mute(struct snd_soc_dai *codec_dai, int mute)
+static int aic31xx_dac_mute(struct snd_soc_dai *codec_dai, int mute,
+                           int direction)
 {
        struct snd_soc_component *component = codec_dai->component;
 
@@ -1379,7 +1380,8 @@ static const struct snd_soc_dai_ops aic31xx_dai_ops = {
        .hw_params      = aic31xx_hw_params,
        .set_sysclk     = aic31xx_set_dai_sysclk,
        .set_fmt        = aic31xx_set_dai_fmt,
-       .digital_mute   = aic31xx_dac_mute,
+       .mute_stream    = aic31xx_dac_mute,
+       .no_capture_mute = 1,
 };
 
 static struct snd_soc_dai_driver dac31xx_dai_driver[] = {
index 8682dae..4678028 100644 (file)
@@ -812,7 +812,7 @@ static int aic32x4_hw_params(struct snd_pcm_substream *substream,
        return 0;
 }
 
-static int aic32x4_mute(struct snd_soc_dai *dai, int mute)
+static int aic32x4_mute(struct snd_soc_dai *dai, int mute, int direction)
 {
        struct snd_soc_component *component = dai->component;
 
@@ -866,9 +866,10 @@ static int aic32x4_set_bias_level(struct snd_soc_component *component,
 
 static const struct snd_soc_dai_ops aic32x4_ops = {
        .hw_params = aic32x4_hw_params,
-       .digital_mute = aic32x4_mute,
+       .mute_stream = aic32x4_mute,
        .set_fmt = aic32x4_set_dai_fmt,
        .set_sysclk = aic32x4_set_dai_sysclk,
+       .no_capture_mute = 1,
 };
 
 static struct snd_soc_dai_driver aic32x4_dai = {
index 6860743..6d066bc 100644 (file)
@@ -1216,7 +1216,7 @@ static int aic3x_prepare(struct snd_pcm_substream *substream,
        return 0;
 }
 
-static int aic3x_mute(struct snd_soc_dai *dai, int mute)
+static int aic3x_mute(struct snd_soc_dai *dai, int mute, int direction)
 {
        struct snd_soc_component *component = dai->component;
        u8 ldac_reg = snd_soc_component_read(component, LDAC_VOL) & ~MUTE_ON;
@@ -1481,10 +1481,11 @@ static int aic3x_set_bias_level(struct snd_soc_component *component,
 static const struct snd_soc_dai_ops aic3x_dai_ops = {
        .hw_params      = aic3x_hw_params,
        .prepare        = aic3x_prepare,
-       .digital_mute   = aic3x_mute,
+       .mute_stream    = aic3x_mute,
        .set_sysclk     = aic3x_set_dai_sysclk,
        .set_fmt        = aic3x_set_dai_fmt,
        .set_tdm_slot   = aic3x_set_dai_tdm_slot,
+       .no_capture_mute = 1,
 };
 
 static struct snd_soc_dai_driver aic3x_dai = {