Commit 49f679a1 authored by Bard Liao's avatar Bard Liao Committed by Mark Brown

ASoC: Intel: sof_sdw_rt_sdca_jack_common: use helper to get codec dai by name

Use helper to get codec dai by name.
Reviewed-by: default avatarRander Wang <rander.wang@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/20240208165545.93811-12-pierre-louis.bossart@linux.intel.comSigned-off-by: default avatarMark Brown <broonie@kernel.org>
parent 4ca5ba58
...@@ -677,6 +677,7 @@ config SND_SOC_INTEL_SOUNDWIRE_SOF_MACH ...@@ -677,6 +677,7 @@ config SND_SOC_INTEL_SOUNDWIRE_SOF_MACH
depends on MFD_INTEL_LPSS || COMPILE_TEST depends on MFD_INTEL_LPSS || COMPILE_TEST
depends on SND_SOC_INTEL_USER_FRIENDLY_LONG_NAMES || COMPILE_TEST depends on SND_SOC_INTEL_USER_FRIENDLY_LONG_NAMES || COMPILE_TEST
depends on SOUNDWIRE depends on SOUNDWIRE
select SND_SOC_INTEL_SOF_BOARD_HELPERS
select SND_SOC_MAX98363 select SND_SOC_MAX98363
select SND_SOC_MAX98373_I2C select SND_SOC_MAX98373_I2C
select SND_SOC_MAX98373_SDW select SND_SOC_MAX98373_SDW
......
...@@ -585,7 +585,7 @@ int sof_intel_board_set_dai_link(struct device *dev, struct snd_soc_card *card, ...@@ -585,7 +585,7 @@ int sof_intel_board_set_dai_link(struct device *dev, struct snd_soc_card *card,
EXPORT_SYMBOL_NS(sof_intel_board_set_dai_link, SND_SOC_INTEL_SOF_BOARD_HELPERS); EXPORT_SYMBOL_NS(sof_intel_board_set_dai_link, SND_SOC_INTEL_SOF_BOARD_HELPERS);
struct snd_soc_dai *get_codec_dai_by_name(struct snd_soc_pcm_runtime *rtd, struct snd_soc_dai *get_codec_dai_by_name(struct snd_soc_pcm_runtime *rtd,
const char *dai_name[], int num_dais) const char * const dai_name[], int num_dais)
{ {
struct snd_soc_dai *dai; struct snd_soc_dai *dai;
int index; int index;
......
...@@ -119,6 +119,6 @@ int sof_intel_board_set_hdmi_in_link(struct device *dev, ...@@ -119,6 +119,6 @@ int sof_intel_board_set_hdmi_in_link(struct device *dev,
int ssp_hdmi); int ssp_hdmi);
struct snd_soc_dai *get_codec_dai_by_name(struct snd_soc_pcm_runtime *rtd, struct snd_soc_dai *get_codec_dai_by_name(struct snd_soc_pcm_runtime *rtd,
const char *dai_name[], int num_dais); const char * const dai_name[], int num_dais);
#endif /* __SOF_INTEL_BOARD_HELPERS_H */ #endif /* __SOF_INTEL_BOARD_HELPERS_H */
...@@ -15,6 +15,7 @@ ...@@ -15,6 +15,7 @@
#include <sound/soc-acpi.h> #include <sound/soc-acpi.h>
#include <sound/soc-dapm.h> #include <sound/soc-dapm.h>
#include <sound/jack.h> #include <sound/jack.h>
#include "sof_board_helpers.h"
#include "sof_sdw_common.h" #include "sof_sdw_common.h"
/* /*
...@@ -84,15 +85,24 @@ static struct snd_soc_jack_pin rt_sdca_jack_pins[] = { ...@@ -84,15 +85,24 @@ static struct snd_soc_jack_pin rt_sdca_jack_pins[] = {
}, },
}; };
static const char * const jack_codecs[] = {
"rt711", "rt712", "rt713"
};
static int rt_sdca_jack_rtd_init(struct snd_soc_pcm_runtime *rtd) static int rt_sdca_jack_rtd_init(struct snd_soc_pcm_runtime *rtd)
{ {
struct snd_soc_card *card = rtd->card; struct snd_soc_card *card = rtd->card;
struct mc_private *ctx = snd_soc_card_get_drvdata(card); struct mc_private *ctx = snd_soc_card_get_drvdata(card);
struct snd_soc_dai *codec_dai = snd_soc_rtd_to_codec(rtd, 0); struct snd_soc_dai *codec_dai;
struct snd_soc_component *component = codec_dai->component; struct snd_soc_component *component;
struct snd_soc_jack *jack; struct snd_soc_jack *jack;
int ret; int ret;
codec_dai = get_codec_dai_by_name(rtd, jack_codecs, ARRAY_SIZE(jack_codecs));
if (!codec_dai)
return -EINVAL;
component = codec_dai->component;
card->components = devm_kasprintf(card->dev, GFP_KERNEL, card->components = devm_kasprintf(card->dev, GFP_KERNEL,
"%s hs:%s-sdca", "%s hs:%s-sdca",
card->components, component->name_prefix); card->components, component->name_prefix);
...@@ -213,3 +223,4 @@ int sof_sdw_rt_sdca_jack_init(struct snd_soc_card *card, ...@@ -213,3 +223,4 @@ int sof_sdw_rt_sdca_jack_init(struct snd_soc_card *card,
return 0; return 0;
} }
MODULE_IMPORT_NS(SND_SOC_INTEL_SOF_BOARD_HELPERS);
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment