ASoC: sdw_utils: refactor sof_sdw_card_late_probe function
Refactor sof_sdw_card_late_probe() function and derive a generic function soc_sdw_card_late_probe() function which can be used by SoundWire generic machine driver. Link: https://github.com/thesofproject/linux/pull/5068 Signed-off-by: Vijendar Mukunda <Vijendar.Mukunda@amd.com> Reviewed-by: Bard Liao <yung-chuan.liao@linux.intel.com> Reviewed-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com> Link: https://patch.msgid.link/20240801111821.18076-5-Vijendar.Mukunda@amd.com Signed-off-by: Mark Brown <broonie@kernel.org>
This commit is contained in:
committed by
Mark Brown
parent
778dcb0883
commit
5bd414c7b8
@@ -122,6 +122,8 @@ struct snd_soc_dai_link *asoc_sdw_mc_find_codec_dai_used(struct snd_soc_card *ca
|
||||
|
||||
void asoc_sdw_mc_dailink_exit_loop(struct snd_soc_card *card);
|
||||
|
||||
int asoc_sdw_card_late_probe(struct snd_soc_card *card);
|
||||
|
||||
int asoc_sdw_rtd_init(struct snd_soc_pcm_runtime *rtd);
|
||||
|
||||
/* DMIC support */
|
||||
|
||||
@@ -1221,16 +1221,10 @@ static int sof_sdw_card_late_probe(struct snd_soc_card *card)
|
||||
struct asoc_sdw_mc_private *ctx = snd_soc_card_get_drvdata(card);
|
||||
struct intel_mc_ctx *intel_ctx = (struct intel_mc_ctx *)ctx->private;
|
||||
int ret = 0;
|
||||
int i;
|
||||
|
||||
for (i = 0; i < ctx->codec_info_list_count; i++) {
|
||||
if (codec_info_list[i].codec_card_late_probe) {
|
||||
ret = codec_info_list[i].codec_card_late_probe(card);
|
||||
|
||||
if (ret < 0)
|
||||
return ret;
|
||||
}
|
||||
}
|
||||
ret = asoc_sdw_card_late_probe(card);
|
||||
if (ret < 0)
|
||||
return ret;
|
||||
|
||||
if (intel_ctx->hdmi.idisp_codec)
|
||||
ret = sof_sdw_hdmi_card_late_probe(card);
|
||||
|
||||
@@ -916,5 +916,21 @@ void asoc_sdw_mc_dailink_exit_loop(struct snd_soc_card *card)
|
||||
}
|
||||
EXPORT_SYMBOL_NS(asoc_sdw_mc_dailink_exit_loop, SND_SOC_SDW_UTILS);
|
||||
|
||||
int asoc_sdw_card_late_probe(struct snd_soc_card *card)
|
||||
{
|
||||
int ret = 0;
|
||||
int i;
|
||||
|
||||
for (i = 0; i < ARRAY_SIZE(codec_info_list); i++) {
|
||||
if (codec_info_list[i].codec_card_late_probe) {
|
||||
ret = codec_info_list[i].codec_card_late_probe(card);
|
||||
if (ret < 0)
|
||||
return ret;
|
||||
}
|
||||
}
|
||||
return ret;
|
||||
}
|
||||
EXPORT_SYMBOL_NS(asoc_sdw_card_late_probe, SND_SOC_SDW_UTILS);
|
||||
|
||||
MODULE_LICENSE("GPL");
|
||||
MODULE_DESCRIPTION("SoundWire ASoC helpers");
|
||||
|
||||
Reference in New Issue
Block a user