ASoC: Intel: sof_sdw_rt722_sdca: set rtd_init in codec_info_list[]
Add rt722 into rt_sdca_jack_rtd_init() supported list, and set rtd_init callback directly in codec_info_list[]. No need to use a init callback to set the rtd_init callback. Besides, sof_sdw_rt_sdca_jack_init() doesn't set .rtd_init anymore. Reviewed-by: Chao Song <chao.song@linux.intel.com> 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://msgid.link/r/20240326160429.13560-27-pierre-louis.bossart@linux.intel.com Signed-off-by: Mark Brown <broonie@kernel.org>
This commit is contained in:
parent
45bbc14fb9
commit
266c9b27cb
@ -902,6 +902,7 @@ static struct sof_sdw_codec_info codec_info_list[] = {
|
||||
.dailink = {SDW_JACK_OUT_DAI_ID, SDW_JACK_IN_DAI_ID},
|
||||
.init = sof_sdw_rt_sdca_jack_init,
|
||||
.exit = sof_sdw_rt_sdca_jack_exit,
|
||||
.rtd_init = rt_sdca_jack_rtd_init,
|
||||
},
|
||||
{
|
||||
.direction = {true, false},
|
||||
@ -909,14 +910,14 @@ static struct sof_sdw_codec_info codec_info_list[] = {
|
||||
.dai_type = SOF_SDW_DAI_TYPE_AMP,
|
||||
/* No feedback capability is provided by rt722-sdca codec driver*/
|
||||
.dailink = {SDW_AMP_OUT_DAI_ID, SDW_UNUSED_DAI_ID},
|
||||
.init = sof_sdw_rt722_spk_init,
|
||||
.rtd_init = rt722_spk_rtd_init,
|
||||
},
|
||||
{
|
||||
.direction = {false, true},
|
||||
.dai_name = "rt722-sdca-aif3",
|
||||
.dai_type = SOF_SDW_DAI_TYPE_MIC,
|
||||
.dailink = {SDW_UNUSED_DAI_ID, SDW_DMIC_DAI_ID},
|
||||
.init = sof_sdw_rt722_sdca_dmic_init,
|
||||
.rtd_init = rt722_sdca_dmic_rtd_init,
|
||||
},
|
||||
},
|
||||
.dai_num = 3,
|
||||
|
@ -157,18 +157,6 @@ int sof_sdw_rt_amp_init(struct snd_soc_card *card,
|
||||
bool playback);
|
||||
int sof_sdw_rt_amp_exit(struct snd_soc_card *card, struct snd_soc_dai_link *dai_link);
|
||||
|
||||
/* RT722-SDCA support */
|
||||
int sof_sdw_rt722_spk_init(struct snd_soc_card *card,
|
||||
const struct snd_soc_acpi_link_adr *link,
|
||||
struct snd_soc_dai_link *dai_links,
|
||||
struct sof_sdw_codec_info *info,
|
||||
bool playback);
|
||||
int sof_sdw_rt722_sdca_dmic_init(struct snd_soc_card *card,
|
||||
const struct snd_soc_acpi_link_adr *link,
|
||||
struct snd_soc_dai_link *dai_links,
|
||||
struct sof_sdw_codec_info *info,
|
||||
bool playback);
|
||||
|
||||
/* MAXIM codec support */
|
||||
int sof_sdw_maxim_init(struct snd_soc_card *card,
|
||||
const struct snd_soc_acpi_link_adr *link,
|
||||
@ -194,6 +182,8 @@ 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 rt722_sdca_dmic_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);
|
||||
|
@ -27,7 +27,7 @@ static const struct snd_kcontrol_new rt722_spk_controls[] = {
|
||||
SOC_DAPM_PIN_SWITCH("Speaker"),
|
||||
};
|
||||
|
||||
static int rt722_spk_init(struct snd_soc_pcm_runtime *rtd)
|
||||
int rt722_spk_rtd_init(struct snd_soc_pcm_runtime *rtd)
|
||||
{
|
||||
struct snd_soc_card *card = rtd->card;
|
||||
int ret;
|
||||
@ -59,18 +59,7 @@ static int rt722_spk_init(struct snd_soc_pcm_runtime *rtd)
|
||||
return ret;
|
||||
}
|
||||
|
||||
int sof_sdw_rt722_spk_init(struct snd_soc_card *card,
|
||||
const struct snd_soc_acpi_link_adr *link,
|
||||
struct snd_soc_dai_link *dai_links,
|
||||
struct sof_sdw_codec_info *info,
|
||||
bool playback)
|
||||
{
|
||||
dai_links->init = rt722_spk_init;
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int rt722_sdca_dmic_rtd_init(struct snd_soc_pcm_runtime *rtd)
|
||||
int rt722_sdca_dmic_rtd_init(struct snd_soc_pcm_runtime *rtd)
|
||||
{
|
||||
struct snd_soc_card *card = rtd->card;
|
||||
struct snd_soc_dai *codec_dai = snd_soc_rtd_to_codec(rtd, 0);
|
||||
@ -84,14 +73,3 @@ static int rt722_sdca_dmic_rtd_init(struct snd_soc_pcm_runtime *rtd)
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
int sof_sdw_rt722_sdca_dmic_init(struct snd_soc_card *card,
|
||||
const struct snd_soc_acpi_link_adr *link,
|
||||
struct snd_soc_dai_link *dai_links,
|
||||
struct sof_sdw_codec_info *info,
|
||||
bool playback)
|
||||
{
|
||||
dai_links->init = rt722_sdca_dmic_rtd_init;
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
@ -85,7 +85,7 @@ static struct snd_soc_jack_pin rt_sdca_jack_pins[] = {
|
||||
};
|
||||
|
||||
static const char * const jack_codecs[] = {
|
||||
"rt711", "rt712", "rt713"
|
||||
"rt711", "rt712", "rt713", "rt722"
|
||||
};
|
||||
|
||||
int rt_sdca_jack_rtd_init(struct snd_soc_pcm_runtime *rtd)
|
||||
|
Loading…
x
Reference in New Issue
Block a user