Unverified Commit 4c11132a authored by Bard Liao's avatar Bard Liao Committed by Mark Brown
Browse files

ASoC: Intel: sof_sdw_rt_amp: use dai parameter



get_codec_name_and_route() get dai name from the first codec dai in a dai
link. However, the dai may not always be the first codec dai. Use the
dai parameter to make sure get_codec_name_and_route() refers to the
correct dai.

Reviewed-by: default avatarPéter Ujfalusi <peter.ujfalusi@linux.intel.com>
Signed-off-by: default avatarBard Liao <yung-chuan.liao@linux.intel.com>
Signed-off-by: default avatarPierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Link: https://lore.kernel.org/r/20240509163418.67746-19-pierre-louis.bossart@linux.intel.com


Signed-off-by: default avatarMark Brown <broonie@kernel.org>
parent 84e0a19a
Loading
Loading
Loading
Loading
+3 −7
Original line number Diff line number Diff line
@@ -158,15 +158,11 @@ static const struct snd_soc_dapm_route rt1318_map[] = {
	{ "Speaker", NULL, "rt1318-2 SPOR" },
};

static const struct snd_soc_dapm_route *get_codec_name_and_route(struct snd_soc_pcm_runtime *rtd,
static const struct snd_soc_dapm_route *get_codec_name_and_route(struct snd_soc_dai *dai,
								 char *codec_name)
{
	const char *dai_name;

	dai_name = rtd->dai_link->codecs->dai_name;

	/* get the codec name */
	snprintf(codec_name, CODEC_NAME_SIZE, "%s", dai_name);
	snprintf(codec_name, CODEC_NAME_SIZE, "%s", dai->name);

	/* choose the right codec's map  */
	if (strcmp(codec_name, "rt1308") == 0)
@@ -186,7 +182,7 @@ int rt_amp_spk_rtd_init(struct snd_soc_pcm_runtime *rtd, struct snd_soc_dai *dai
	int ret;
	int i;

	rt_amp_map = get_codec_name_and_route(rtd, codec_name);
	rt_amp_map = get_codec_name_and_route(dai, codec_name);

	card->components = devm_kasprintf(card->dev, GFP_KERNEL,
					  "%s spk:%s",