mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-14 07:44:21 +08:00
ASoC: qcom: common: add Display port Jack function
Add a common function to add Display port jack. Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org> Tested-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org> Tested-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org> # X13s Link: https://msgid.link/r/20240606104922.114229-3-srinivas.kandagatla@linaro.org Signed-off-by: Mark Brown <broonie@kernel.org>
This commit is contained in:
parent
6d620e50bb
commit
735db4ea16
@ -8,9 +8,19 @@
|
||||
#include <linux/input-event-codes.h>
|
||||
#include "common.h"
|
||||
|
||||
#define NAME_SIZE 32
|
||||
|
||||
static const struct snd_soc_dapm_widget qcom_jack_snd_widgets[] = {
|
||||
SND_SOC_DAPM_HP("Headphone Jack", NULL),
|
||||
SND_SOC_DAPM_MIC("Mic Jack", NULL),
|
||||
SND_SOC_DAPM_SPK("DP0 Jack", NULL),
|
||||
SND_SOC_DAPM_SPK("DP1 Jack", NULL),
|
||||
SND_SOC_DAPM_SPK("DP2 Jack", NULL),
|
||||
SND_SOC_DAPM_SPK("DP3 Jack", NULL),
|
||||
SND_SOC_DAPM_SPK("DP4 Jack", NULL),
|
||||
SND_SOC_DAPM_SPK("DP5 Jack", NULL),
|
||||
SND_SOC_DAPM_SPK("DP6 Jack", NULL),
|
||||
SND_SOC_DAPM_SPK("DP7 Jack", NULL),
|
||||
};
|
||||
|
||||
int qcom_snd_parse_of(struct snd_soc_card *card)
|
||||
@ -240,5 +250,30 @@ int qcom_snd_wcd_jack_setup(struct snd_soc_pcm_runtime *rtd,
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(qcom_snd_wcd_jack_setup);
|
||||
|
||||
int qcom_snd_dp_jack_setup(struct snd_soc_pcm_runtime *rtd,
|
||||
struct snd_soc_jack *dp_jack, int dp_pcm_id)
|
||||
{
|
||||
struct snd_soc_dai *codec_dai = snd_soc_rtd_to_codec(rtd, 0);
|
||||
struct snd_soc_card *card = rtd->card;
|
||||
char jack_name[NAME_SIZE];
|
||||
int rval, i;
|
||||
|
||||
snprintf(jack_name, sizeof(jack_name), "DP%d Jack", dp_pcm_id);
|
||||
rval = snd_soc_card_jack_new(card, jack_name, SND_JACK_AVOUT, dp_jack);
|
||||
if (rval)
|
||||
return rval;
|
||||
|
||||
for_each_rtd_codec_dais(rtd, i, codec_dai) {
|
||||
rval = snd_soc_component_set_jack(codec_dai->component, dp_jack, NULL);
|
||||
if (rval != 0 && rval != -ENOTSUPP) {
|
||||
dev_warn(card->dev, "Failed to set jack: %d\n", rval);
|
||||
return rval;
|
||||
}
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(qcom_snd_dp_jack_setup);
|
||||
|
||||
MODULE_DESCRIPTION("ASoC Qualcomm helper functions");
|
||||
MODULE_LICENSE("GPL");
|
||||
|
@ -9,5 +9,8 @@
|
||||
int qcom_snd_parse_of(struct snd_soc_card *card);
|
||||
int qcom_snd_wcd_jack_setup(struct snd_soc_pcm_runtime *rtd,
|
||||
struct snd_soc_jack *jack, bool *jack_setup);
|
||||
int qcom_snd_dp_jack_setup(struct snd_soc_pcm_runtime *rtd,
|
||||
struct snd_soc_jack *dp_jack, int id);
|
||||
|
||||
|
||||
#endif
|
||||
|
Loading…
Reference in New Issue
Block a user