ASoC: Intel: cht_bsw_rt5672: use actual HID in suspend/resume
authorPierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Fri, 8 Sep 2017 01:12:55 +0000 (20:12 -0500)
committerMark Brown <broonie@kernel.org>
Mon, 25 Sep 2017 16:14:52 +0000 (17:14 +0100)
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>
sound/soc/intel/boards/cht_bsw_rt5672.c

index a0e60bc1f84f07bbd55f182ef27122fe163cf1c5..5b1e3ee965a7cf0fa42a2a75431588bab2c3a2bd 100644 (file)
@@ -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");