ASoC: Intel: sof_sdw: add dai parameter to rtd_init callback
authorBard Liao <yung-chuan.liao@linux.intel.com>
Thu, 9 May 2024 16:34:17 +0000 (11:34 -0500)
committerMark Brown <broonie@kernel.org>
Fri, 10 May 2024 06:11:50 +0000 (07:11 +0100)
A generic .rtd_init() callback could be used by different dais. It is
useful to pass dai parameter to the callback. The dai parameter will be
used in the follow up commit. No functional change here.

Reviewed-by: Péter Ujfalusi <peter.ujfalusi@linux.intel.com>
Signed-off-by: Bard Liao <yung-chuan.liao@linux.intel.com>
Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Link: https://lore.kernel.org/r/20240509163418.67746-18-pierre-louis.bossart@linux.intel.com
Signed-off-by: Mark Brown <broonie@kernel.org>
14 files changed:
sound/soc/intel/boards/sof_sdw.c
sound/soc/intel/boards/sof_sdw_common.h
sound/soc/intel/boards/sof_sdw_cs42l42.c
sound/soc/intel/boards/sof_sdw_cs42l43.c
sound/soc/intel/boards/sof_sdw_cs_amp.c
sound/soc/intel/boards/sof_sdw_maxim.c
sound/soc/intel/boards/sof_sdw_rt5682.c
sound/soc/intel/boards/sof_sdw_rt700.c
sound/soc/intel/boards/sof_sdw_rt711.c
sound/soc/intel/boards/sof_sdw_rt712_sdca.c
sound/soc/intel/boards/sof_sdw_rt722_sdca.c
sound/soc/intel/boards/sof_sdw_rt_amp.c
sound/soc/intel/boards/sof_sdw_rt_dmic.c
sound/soc/intel/boards/sof_sdw_rt_sdca_jack_common.c

index 8c1497bab2efda19639549f063d6fabcc98ed56d..e41b0d95e0ff77856951a1e211e1d8d81638cc91 100644 (file)
@@ -1411,7 +1411,7 @@ static int sof_sdw_rtd_init(struct snd_soc_pcm_runtime *rtd)
 
 skip_add_controls_widgets:
                if (codec_info->dais[dai_index].rtd_init) {
-                       ret = codec_info->dais[dai_index].rtd_init(rtd);
+                       ret = codec_info->dais[dai_index].rtd_init(rtd, dai);
                        if (ret)
                                return ret;
                }
index a8ba39bd5fd8e35b4deb50d241359b2a65666b5c..3dfba6f6b95dc64ef493892193b9dae1af414205 100644 (file)
@@ -95,7 +95,7 @@ struct sof_sdw_dai_info {
                     struct sof_sdw_codec_info *info,
                     bool playback);
        int (*exit)(struct snd_soc_card *card, struct snd_soc_dai_link *dai_link);
-       int (*rtd_init)(struct snd_soc_pcm_runtime *rtd);
+       int (*rtd_init)(struct snd_soc_pcm_runtime *rtd, struct snd_soc_dai *dai);
        bool rtd_init_done; /* Indicate that the rtd_init callback is done */
        unsigned long quirk;
 };
@@ -208,19 +208,19 @@ int sof_sdw_cs_amp_init(struct snd_soc_card *card,
 
 /* dai_link init callbacks */
 
-int cs42l42_rtd_init(struct snd_soc_pcm_runtime *rtd);
-int cs42l43_hs_rtd_init(struct snd_soc_pcm_runtime *rtd);
-int cs42l43_spk_rtd_init(struct snd_soc_pcm_runtime *rtd);
-int cs42l43_dmic_rtd_init(struct snd_soc_pcm_runtime *rtd);
-int cs_spk_rtd_init(struct snd_soc_pcm_runtime *rtd);
-int maxim_spk_rtd_init(struct snd_soc_pcm_runtime *rtd);
-int rt5682_rtd_init(struct snd_soc_pcm_runtime *rtd);
-int rt700_rtd_init(struct snd_soc_pcm_runtime *rtd);
-int rt711_rtd_init(struct snd_soc_pcm_runtime *rtd);
-int rt712_spk_rtd_init(struct snd_soc_pcm_runtime *rtd);
-int rt722_spk_rtd_init(struct snd_soc_pcm_runtime *rtd);
-int rt_dmic_rtd_init(struct snd_soc_pcm_runtime *rtd);
-int rt_amp_spk_rtd_init(struct snd_soc_pcm_runtime *rtd);
-int rt_sdca_jack_rtd_init(struct snd_soc_pcm_runtime *rtd);
+int cs42l42_rtd_init(struct snd_soc_pcm_runtime *rtd, struct snd_soc_dai *dai);
+int cs42l43_hs_rtd_init(struct snd_soc_pcm_runtime *rtd, struct snd_soc_dai *dai);
+int cs42l43_spk_rtd_init(struct snd_soc_pcm_runtime *rtd, struct snd_soc_dai *dai);
+int cs42l43_dmic_rtd_init(struct snd_soc_pcm_runtime *rtd, struct snd_soc_dai *dai);
+int cs_spk_rtd_init(struct snd_soc_pcm_runtime *rtd, struct snd_soc_dai *dai);
+int maxim_spk_rtd_init(struct snd_soc_pcm_runtime *rtd, struct snd_soc_dai *dai);
+int rt5682_rtd_init(struct snd_soc_pcm_runtime *rtd, struct snd_soc_dai *dai);
+int rt700_rtd_init(struct snd_soc_pcm_runtime *rtd, struct snd_soc_dai *dai);
+int rt711_rtd_init(struct snd_soc_pcm_runtime *rtd, struct snd_soc_dai *dai);
+int rt712_spk_rtd_init(struct snd_soc_pcm_runtime *rtd, struct snd_soc_dai *dai);
+int rt722_spk_rtd_init(struct snd_soc_pcm_runtime *rtd, struct snd_soc_dai *dai);
+int rt_dmic_rtd_init(struct snd_soc_pcm_runtime *rtd, struct snd_soc_dai *dai);
+int rt_amp_spk_rtd_init(struct snd_soc_pcm_runtime *rtd, struct snd_soc_dai *dai);
+int rt_sdca_jack_rtd_init(struct snd_soc_pcm_runtime *rtd, struct snd_soc_dai *dai);
 
 #endif
index 9783d5fb2d91c02da767b3b5eb151610e1b190c0..fdb75fc71c2649d92c8eb44256a32e341a572038 100644 (file)
@@ -40,7 +40,7 @@ static const char * const jack_codecs[] = {
        "cs42l42"
 };
 
-int cs42l42_rtd_init(struct snd_soc_pcm_runtime *rtd)
+int cs42l42_rtd_init(struct snd_soc_pcm_runtime *rtd, struct snd_soc_dai *dai)
 {
        struct snd_soc_card *card = rtd->card;
        struct mc_private *ctx = snd_soc_card_get_drvdata(card);
index 2dd0f085fe60bd049824a4d76a9b8af58fcdc3c9..b7e2750c107459bcedefb17fd16eca68bf0a758c 100644 (file)
@@ -48,7 +48,7 @@ static struct snd_soc_jack_pin sof_jack_pins[] = {
        },
 };
 
-int cs42l43_hs_rtd_init(struct snd_soc_pcm_runtime *rtd)
+int cs42l43_hs_rtd_init(struct snd_soc_pcm_runtime *rtd, struct snd_soc_dai *dai)
 {
        struct snd_soc_component *component = snd_soc_rtd_to_codec(rtd, 0)->component;
        struct mc_private *ctx = snd_soc_card_get_drvdata(rtd->card);
@@ -99,7 +99,7 @@ int cs42l43_hs_rtd_init(struct snd_soc_pcm_runtime *rtd)
        return ret;
 }
 
-int cs42l43_spk_rtd_init(struct snd_soc_pcm_runtime *rtd)
+int cs42l43_spk_rtd_init(struct snd_soc_pcm_runtime *rtd, struct snd_soc_dai *dai)
 {
        struct snd_soc_card *card = rtd->card;
        int ret;
@@ -135,7 +135,7 @@ int sof_sdw_cs42l43_spk_init(struct snd_soc_card *card,
        return bridge_cs35l56_spk_init(card, dai_links, info, playback);
 }
 
-int cs42l43_dmic_rtd_init(struct snd_soc_pcm_runtime *rtd)
+int cs42l43_dmic_rtd_init(struct snd_soc_pcm_runtime *rtd, struct snd_soc_dai *dai)
 {
        struct snd_soc_card *card = rtd->card;
        int ret;
index 663c0e1d2c563f2a06c09776ca5e5df774775bf9..10e08207619a9cf553686ebd2dad6e70c6c3a324 100644 (file)
@@ -14,7 +14,7 @@
 
 #define CODEC_NAME_SIZE        8
 
-int cs_spk_rtd_init(struct snd_soc_pcm_runtime *rtd)
+int cs_spk_rtd_init(struct snd_soc_pcm_runtime *rtd, struct snd_soc_dai *dai)
 {
        const char *dai_name = rtd->dai_link->codecs->dai_name;
        struct snd_soc_card *card = rtd->card;
index a7a8db624818b56bc6483673782b024631612b09..b7f73177867f466f4f905898ec89e0f704dfbbd3 100644 (file)
@@ -21,7 +21,7 @@ static const struct snd_soc_dapm_route max_98373_dapm_routes[] = {
        { "Right Spk", NULL, "Right BE_OUT" },
 };
 
-int maxim_spk_rtd_init(struct snd_soc_pcm_runtime *rtd)
+int maxim_spk_rtd_init(struct snd_soc_pcm_runtime *rtd, struct snd_soc_dai *dai)
 {
        struct snd_soc_card *card = rtd->card;
        int ret;
index 1741226fe052f28540d4722838598e87ad71eff7..96f1937985407537df1aa33cd1adeca303be255e 100644 (file)
@@ -39,7 +39,7 @@ static const char * const jack_codecs[] = {
        "rt5682"
 };
 
-int rt5682_rtd_init(struct snd_soc_pcm_runtime *rtd)
+int rt5682_rtd_init(struct snd_soc_pcm_runtime *rtd, struct snd_soc_dai *dai)
 {
        struct snd_soc_card *card = rtd->card;
        struct mc_private *ctx = snd_soc_card_get_drvdata(card);
index 58677a8968abe5093967444bdcc0426f19c67d2a..f9575db9d99ca6a851853b3eea8fbe500376b023 100644 (file)
@@ -37,7 +37,7 @@ static const char * const jack_codecs[] = {
        "rt700"
 };
 
-int rt700_rtd_init(struct snd_soc_pcm_runtime *rtd)
+int rt700_rtd_init(struct snd_soc_pcm_runtime *rtd, struct snd_soc_dai *dai)
 {
        struct snd_soc_card *card = rtd->card;
        struct mc_private *ctx = snd_soc_card_get_drvdata(card);
index 4cff48a37e3c1e1009f2f5ed21c7e59bf25e49ab..d49e5aa786c3bcce3c4eae04afed574bed68ec79 100644 (file)
@@ -63,7 +63,7 @@ static const char * const jack_codecs[] = {
        "rt711"
 };
 
-int rt711_rtd_init(struct snd_soc_pcm_runtime *rtd)
+int rt711_rtd_init(struct snd_soc_pcm_runtime *rtd, struct snd_soc_dai *dai)
 {
        struct snd_soc_card *card = rtd->card;
        struct mc_private *ctx = snd_soc_card_get_drvdata(card);
index ee2c57a50f0d4dd5b43f6add97dfe9fdc0b43bdf..78879646188585b487931151305903fa1ffa0be6 100644 (file)
@@ -26,7 +26,7 @@ static const struct snd_soc_dapm_route rt712_spk_map[] = {
        { "Speaker", NULL, "rt712 SPOR" },
 };
 
-int rt712_spk_rtd_init(struct snd_soc_pcm_runtime *rtd)
+int rt712_spk_rtd_init(struct snd_soc_pcm_runtime *rtd, struct snd_soc_dai *dai)
 {
        struct snd_soc_card *card = rtd->card;
        int ret;
index 02ee8e33a99ae6a5efc6750a6ca5ee6026f2604c..083d281bd05253f96aa257c50e8ac9c27f696804 100644 (file)
@@ -19,7 +19,7 @@ static const struct snd_soc_dapm_route rt722_spk_map[] = {
        { "Speaker", NULL, "rt722 SPK" },
 };
 
-int rt722_spk_rtd_init(struct snd_soc_pcm_runtime *rtd)
+int rt722_spk_rtd_init(struct snd_soc_pcm_runtime *rtd, struct snd_soc_dai *dai)
 {
        struct snd_soc_card *card = rtd->card;
        int ret;
index 218f6c4efe3832113c87a7368c54ad88e7f6c2c3..df03441ab3647626e446fe5ac74f39e51ce6c101 100644 (file)
@@ -177,12 +177,12 @@ static const struct snd_soc_dapm_route *get_codec_name_and_route(struct snd_soc_
                return rt1318_map;
 }
 
-int rt_amp_spk_rtd_init(struct snd_soc_pcm_runtime *rtd)
+int rt_amp_spk_rtd_init(struct snd_soc_pcm_runtime *rtd, struct snd_soc_dai *dai)
 {
        struct snd_soc_card *card = rtd->card;
        const struct snd_soc_dapm_route *rt_amp_map;
        char codec_name[CODEC_NAME_SIZE];
-       struct snd_soc_dai *dai;
+       struct snd_soc_dai *codec_dai;
        int ret;
        int i;
 
@@ -194,10 +194,10 @@ int rt_amp_spk_rtd_init(struct snd_soc_pcm_runtime *rtd)
        if (!card->components)
                return -ENOMEM;
 
-       for_each_rtd_codec_dais(rtd, i, dai) {
-               if (strstr(dai->component->name_prefix, "-1"))
+       for_each_rtd_codec_dais(rtd, i, codec_dai) {
+               if (strstr(codec_dai->component->name_prefix, "-1"))
                        ret = snd_soc_dapm_add_routes(&card->dapm, rt_amp_map, 2);
-               else if (strstr(dai->component->name_prefix, "-2"))
+               else if (strstr(codec_dai->component->name_prefix, "-2"))
                        ret = snd_soc_dapm_add_routes(&card->dapm, rt_amp_map + 2, 2);
        }
 
index 2f7ed9b31e79325b6201b79d360623031b0f7b65..b8b493d5c6ec6f6e51a7aec0cc21aed31d978dae 100644 (file)
@@ -19,7 +19,7 @@ static const char * const dmics[] = {
        "rt722-sdca",
 };
 
-int rt_dmic_rtd_init(struct snd_soc_pcm_runtime *rtd)
+int rt_dmic_rtd_init(struct snd_soc_pcm_runtime *rtd, struct snd_soc_dai *dai)
 {
        struct snd_soc_card *card = rtd->card;
        struct snd_soc_component *component;
index c24a5707fb6c3be3356846718b9296aefd0ae543..701b0372f59e31afc8522382da146e4d29983f97 100644 (file)
@@ -87,7 +87,7 @@ static const char * const need_sdca_suffix[] = {
        "rt711", "rt713"
 };
 
-int rt_sdca_jack_rtd_init(struct snd_soc_pcm_runtime *rtd)
+int rt_sdca_jack_rtd_init(struct snd_soc_pcm_runtime *rtd, struct snd_soc_dai *dai)
 {
        struct snd_soc_card *card = rtd->card;
        struct mc_private *ctx = snd_soc_card_get_drvdata(card);