ASoC: Intel: common: filter ACPI devices with _STA return value
authorPierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Fri, 4 Mar 2016 03:36:34 +0000 (21:36 -0600)
committerMark Brown <broonie@kernel.org>
Sat, 5 Mar 2016 04:05:18 +0000 (13:05 +0900)
commitcab473850226c3e41823453b5b80eb294dae6e0c
treeeed18c107d473ac095a70fc1ddb365156598cb14
parentfdd69c57370dbd9f81072b14aaeb90d80ab0b2f9
ASoC: Intel: common: filter ACPI devices with _STA return value

BIOS vendors typically list multiple audio codecs in the DSDT
table and enable the relevant one by changing the return value
of the _STA method.

With the current code, all devices are reported by
acpi_dev_present(), regardless of the _STA return values. This
causes errors on probe with the wrong machine driver being loaded.

This patch essentially reverts 'commit 6f08cbdaac5a
("ASoC: Intel: Use acpi_dev_present()")' and adds code to
force the evaluation of the _STA method.

A better solution might be to make sure the ACPI subsystem only
reports devices with a _STA value of 0xf but apparently it's
problematic so dealing with this in the audio subsystem directly.

Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
sound/soc/intel/common/sst-match-acpi.c