diff options
author | Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com> | 2017-09-08 03:12:55 +0200 |
---|---|---|
committer | Mark Brown <broonie@kernel.org> | 2017-09-25 18:14:52 +0200 |
commit | e45e39123a04a1bb1fbccfcd4c59efc332a0037f (patch) | |
tree | 906bc45af682c4c3227d5707293be057d180c580 /sound/soc/intel | |
parent | ASoC: intel: Kill BUG_ON() usage (diff) | |
download | linux-e45e39123a04a1bb1fbccfcd4c59efc332a0037f.tar.xz linux-e45e39123a04a1bb1fbccfcd4c59efc332a0037f.zip |
ASoC: Intel: cht_bsw_rt5672: use actual HID in suspend/resume
The code scans all components looking for the default name
i2c-10EC5670:00, which of course doesn't work in platforms
where the BIOS uses a different HID such as Dell 5585
Since we already have the correct information available, just
use the actual codec name and length.
Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Acked-By: Vinod Koul <vinod.koul@intel.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
Diffstat (limited to 'sound/soc/intel')
-rw-r--r-- | sound/soc/intel/boards/cht_bsw_rt5672.c | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/sound/soc/intel/boards/cht_bsw_rt5672.c b/sound/soc/intel/boards/cht_bsw_rt5672.c index a0e60bc1f84f..5b1e3ee965a7 100644 --- a/sound/soc/intel/boards/cht_bsw_rt5672.c +++ b/sound/soc/intel/boards/cht_bsw_rt5672.c @@ -347,9 +347,11 @@ static struct snd_soc_dai_link cht_dailink[] = { static int cht_suspend_pre(struct snd_soc_card *card) { struct snd_soc_component *component; + struct cht_mc_private *ctx = snd_soc_card_get_drvdata(card); list_for_each_entry(component, &card->component_dev_list, card_list) { - if (!strcmp(component->name, "i2c-10EC5670:00")) { + if (!strncmp(component->name, + ctx->codec_name, sizeof(ctx->codec_name))) { struct snd_soc_codec *codec = snd_soc_component_to_codec(component); dev_dbg(codec->dev, "disabling jack detect before going to suspend.\n"); @@ -363,9 +365,11 @@ static int cht_suspend_pre(struct snd_soc_card *card) static int cht_resume_post(struct snd_soc_card *card) { struct snd_soc_component *component; + struct cht_mc_private *ctx = snd_soc_card_get_drvdata(card); list_for_each_entry(component, &card->component_dev_list, card_list) { - if (!strcmp(component->name, "i2c-10EC5670:00")) { + if (!strncmp(component->name, + ctx->codec_name, sizeof(ctx->codec_name))) { struct snd_soc_codec *codec = snd_soc_component_to_codec(component); dev_dbg(codec->dev, "enabling jack detect for resume.\n"); |