ASoC: hisilicon: Update to use set_fmt_new callback
authorCharles Keepax <ckeepax@opensource.cirrus.com>
Thu, 19 May 2022 15:42:31 +0000 (16:42 +0100)
committerMark Brown <broonie@kernel.org>
Mon, 6 Jun 2022 11:33:33 +0000 (12:33 +0100)
As part of updating the core to directly tell drivers if they are clock
provider or consumer update this CPU side driver to use the new direct
callback.

Signed-off-by: Charles Keepax <ckeepax@opensource.cirrus.com>
Link: https://lore.kernel.org/r/20220519154318.2153729-10-ckeepax@opensource.cirrus.com
Signed-off-by: Mark Brown <broonie@kernel.org>
sound/soc/hisilicon/hi6210-i2s.c

index a297d4af5099f99ddc504ed7bcc7245ac6f50547..51f98ae651a6b3f53b53210f3fdb17595a3d1d65 100644 (file)
@@ -227,9 +227,9 @@ static int hi6210_i2s_set_fmt(struct snd_soc_dai *cpu_dai, unsigned int fmt)
         * We don't actually set the hardware until the hw_params
         * call, but we need to validate the user input here.
         */
-       switch (fmt & SND_SOC_DAIFMT_MASTER_MASK) {
-       case SND_SOC_DAIFMT_CBM_CFM:
-       case SND_SOC_DAIFMT_CBS_CFS:
+       switch (fmt & SND_SOC_DAIFMT_CLOCK_PROVIDER_MASK) {
+       case SND_SOC_DAIFMT_BC_FC:
+       case SND_SOC_DAIFMT_BP_FP:
                break;
        default:
                return -EINVAL;
@@ -245,8 +245,8 @@ static int hi6210_i2s_set_fmt(struct snd_soc_dai *cpu_dai, unsigned int fmt)
        }
 
        i2s->format = fmt;
-       i2s->master = (i2s->format & SND_SOC_DAIFMT_MASTER_MASK) ==
-                     SND_SOC_DAIFMT_CBS_CFS;
+       i2s->master = (i2s->format & SND_SOC_DAIFMT_CLOCK_PROVIDER_MASK) ==
+                     SND_SOC_DAIFMT_BP_FP;
 
        return 0;
 }
@@ -375,21 +375,21 @@ static int hi6210_i2s_hw_params(struct snd_pcm_substream *substream,
        hi6210_write_reg(i2s, HII2S_MUX_TOP_MODULE_CFG, val);
 
 
-       switch (i2s->format & SND_SOC_DAIFMT_MASTER_MASK) {
-       case SND_SOC_DAIFMT_CBM_CFM:
+       switch (i2s->format & SND_SOC_DAIFMT_CLOCK_PROVIDER_MASK) {
+       case SND_SOC_DAIFMT_BC_FC:
                i2s->master = false;
                val = hi6210_read_reg(i2s, HII2S_I2S_CFG);
                val |= HII2S_I2S_CFG__S2_MST_SLV;
                hi6210_write_reg(i2s, HII2S_I2S_CFG, val);
                break;
-       case SND_SOC_DAIFMT_CBS_CFS:
+       case SND_SOC_DAIFMT_BP_FP:
                i2s->master = true;
                val = hi6210_read_reg(i2s, HII2S_I2S_CFG);
                val &= ~HII2S_I2S_CFG__S2_MST_SLV;
                hi6210_write_reg(i2s, HII2S_I2S_CFG, val);
                break;
        default:
-               WARN_ONCE(1, "Invalid i2s->fmt MASTER_MASK. This shouldn't happen\n");
+               WARN_ONCE(1, "Invalid i2s->fmt CLOCK_PROVIDER_MASK. This shouldn't happen\n");
                return -EINVAL;
        }
 
@@ -513,7 +513,7 @@ static int hi6210_i2s_dai_probe(struct snd_soc_dai *dai)
 static const struct snd_soc_dai_ops hi6210_i2s_dai_ops = {
        .trigger        = hi6210_i2s_trigger,
        .hw_params      = hi6210_i2s_hw_params,
-       .set_fmt        = hi6210_i2s_set_fmt,
+       .set_fmt_new    = hi6210_i2s_set_fmt,
        .startup        = hi6210_i2s_startup,
        .shutdown       = hi6210_i2s_shutdown,
 };