Commit 066d7b87 authored by Jin Yao's avatar Jin Yao Committed by Mark Brown

ASoC: Intel: Add suspend_pre and resume_post for Braswell snd_soc_card

On Braswell, we need to add some machine specific setting before suspend
and after resume. For example, disable/enable jack detection in codec so
use snd_soc_card suspend_pre and resume_post ops for this purpose.
Signed-off-by: default avatarJin Yao <yao.jin@linux.intel.com>
Signed-off-by: default avatarMark Brown <broonie@kernel.org>
parent 3ee5990d
...@@ -267,6 +267,35 @@ static struct snd_soc_dai_link cht_dailink[] = { ...@@ -267,6 +267,35 @@ static struct snd_soc_dai_link cht_dailink[] = {
}, },
}; };
static int cht_suspend_pre(struct snd_soc_card *card)
{
struct snd_soc_codec *codec;
list_for_each_entry(codec, &card->codec_dev_list, card_list) {
if (!strcmp(codec->component.name, "i2c-10EC5670:00")) {
dev_dbg(codec->dev, "disabling jack detect before going to suspend.\n");
rt5670_jack_suspend(codec);
break;
}
}
return 0;
}
static int cht_resume_post(struct snd_soc_card *card)
{
struct snd_soc_codec *codec;
list_for_each_entry(codec, &card->codec_dev_list, card_list) {
if (!strcmp(codec->component.name, "i2c-10EC5670:00")) {
dev_dbg(codec->dev, "enabling jack detect for resume.\n");
rt5670_jack_resume(codec);
break;
}
}
return 0;
}
/* SoC card */ /* SoC card */
static struct snd_soc_card snd_soc_card_cht = { static struct snd_soc_card snd_soc_card_cht = {
.name = "cherrytrailcraudio", .name = "cherrytrailcraudio",
...@@ -278,6 +307,8 @@ static struct snd_soc_card snd_soc_card_cht = { ...@@ -278,6 +307,8 @@ static struct snd_soc_card snd_soc_card_cht = {
.num_dapm_routes = ARRAY_SIZE(cht_audio_map), .num_dapm_routes = ARRAY_SIZE(cht_audio_map),
.controls = cht_mc_controls, .controls = cht_mc_controls,
.num_controls = ARRAY_SIZE(cht_mc_controls), .num_controls = ARRAY_SIZE(cht_mc_controls),
.suspend_pre = cht_suspend_pre,
.resume_post = cht_resume_post,
}; };
static int snd_cht_mc_probe(struct platform_device *pdev) static int snd_cht_mc_probe(struct platform_device *pdev)
......
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