ASoC: Intel: avs: Remove redundancy around DAI startup
authorCezary Rojewski <cezary.rojewski@intel.com>
Fri, 26 Apr 2024 09:57:30 +0000 (11:57 +0200)
committerMark Brown <broonie@kernel.org>
Mon, 29 Apr 2024 15:09:50 +0000 (00:09 +0900)
Half of the arguments in avs_dai_startup() are unused and can be
dropped. With the function updated, it matches its template in
snd_soc_dai_ops and can be referenced throughout the pcm.c file without
need of any wrappers.

Signed-off-by: Cezary Rojewski <cezary.rojewski@intel.com>
Link: https://lore.kernel.org/r/20240426095733.3946951-6-cezary.rojewski@intel.com
Signed-off-by: Mark Brown <broonie@kernel.org>
sound/soc/intel/avs/pcm.c

index a3a04115216c8e1c3d537b3b5bb25d48ecd7f22b..0771a9716f4bc78b99951be1f03dbfc2892c9229 100644 (file)
@@ -57,15 +57,14 @@ avs_dai_find_path_template(struct snd_soc_dai *dai, bool is_fe, int direction)
        return dw->priv;
 }
 
-static int avs_dai_startup(struct snd_pcm_substream *substream, struct snd_soc_dai *dai, bool is_fe,
-                          const struct snd_soc_dai_ops *ops)
+static int avs_dai_startup(struct snd_pcm_substream *substream, struct snd_soc_dai *dai)
 {
        struct snd_soc_pcm_runtime *rtd = snd_soc_substream_to_rtd(substream);
        struct avs_dev *adev = to_avs_dev(dai->component->dev);
        struct avs_tplg_path_template *template;
        struct avs_dma_data *data;
 
-       template = avs_dai_find_path_template(dai, is_fe, substream->stream);
+       template = avs_dai_find_path_template(dai, !rtd->dai_link->no_pcm, substream->stream);
        if (!template) {
                dev_err(dai->dev, "no %s path for dai %s, invalid tplg?\n",
                        snd_pcm_stream_str(substream), dai->name);
@@ -174,13 +173,6 @@ static int avs_dai_prepare(struct avs_dev *adev, struct snd_pcm_substream *subst
        return ret;
 }
 
-static const struct snd_soc_dai_ops avs_dai_nonhda_be_ops;
-
-static int avs_dai_nonhda_be_startup(struct snd_pcm_substream *substream, struct snd_soc_dai *dai)
-{
-       return avs_dai_startup(substream, dai, false, &avs_dai_nonhda_be_ops);
-}
-
 static int avs_dai_nonhda_be_hw_params(struct snd_pcm_substream *substream,
                                       struct snd_pcm_hw_params *hw_params, struct snd_soc_dai *dai)
 {
@@ -265,7 +257,7 @@ static int avs_dai_nonhda_be_trigger(struct snd_pcm_substream *substream, int cm
 }
 
 static const struct snd_soc_dai_ops avs_dai_nonhda_be_ops = {
-       .startup = avs_dai_nonhda_be_startup,
+       .startup = avs_dai_startup,
        .shutdown = avs_dai_shutdown,
        .hw_params = avs_dai_nonhda_be_hw_params,
        .hw_free = avs_dai_nonhda_be_hw_free,
@@ -273,8 +265,6 @@ static const struct snd_soc_dai_ops avs_dai_nonhda_be_ops = {
        .trigger = avs_dai_nonhda_be_trigger,
 };
 
-static const struct snd_soc_dai_ops avs_dai_hda_be_ops;
-
 static int avs_dai_hda_be_startup(struct snd_pcm_substream *substream, struct snd_soc_dai *dai)
 {
        struct snd_soc_pcm_runtime *rtd = snd_soc_substream_to_rtd(substream);
@@ -282,7 +272,7 @@ static int avs_dai_hda_be_startup(struct snd_pcm_substream *substream, struct sn
        struct hda_codec *codec;
        int ret;
 
-       ret = avs_dai_startup(substream, dai, false, &avs_dai_hda_be_ops);
+       ret = avs_dai_startup(substream, dai);
        if (ret)
                return ret;
 
@@ -479,8 +469,6 @@ static const struct snd_pcm_hw_constraint_list hw_rates = {
        .mask = 0,
 };
 
-const struct snd_soc_dai_ops avs_dai_fe_ops;
-
 static int hw_rule_param_size(struct snd_pcm_hw_params *params, struct snd_pcm_hw_rule *rule)
 {
        struct snd_interval *interval = hw_param_interval(params, rule->var);
@@ -509,7 +497,7 @@ static int avs_dai_fe_startup(struct snd_pcm_substream *substream, struct snd_so
        struct hdac_ext_stream *host_stream;
        int ret;
 
-       ret = avs_dai_startup(substream, dai, true, &avs_dai_fe_ops);
+       ret = avs_dai_startup(substream, dai);
        if (ret)
                return ret;