aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorCezary Rojewski <cezary.rojewski@intel.com>2023-05-19 22:17:09 +0200
committerMark Brown <broonie@kernel.org>2023-05-22 11:18:24 +0100
commit836855100b87b4dd7a82546131779dc255c18b67 (patch)
treeeb605efb450252eea4cd56e76e7e188854a205b9
parent1cf036deebcdec46d6348842bd2f8931202fd4cd (diff)
downloadlinux-836855100b87b4dd7a82546131779dc255c18b67.tar.gz
ASoC: Intel: avs: Account for UID of ACPI device
Configurations with multiple codecs attached to the platform are supported but only if each from the set is different. Add new field representing the 'Unique ID' so that codecs that share Vendor and Part IDs can be differentiated and thus enabling support for such configurations. Signed-off-by: Cezary Rojewski <cezary.rojewski@intel.com> Signed-off-by: Amadeusz Sławiński <amadeuszx.slawinski@linux.intel.com> Link: https://lore.kernel.org/r/20230519201711.4073845-6-amadeuszx.slawinski@linux.intel.com Signed-off-by: Mark Brown <broonie@kernel.org>
-rw-r--r--include/sound/soc-acpi.h1
-rw-r--r--sound/soc/intel/avs/board_selection.c2
2 files changed, 2 insertions, 1 deletions
diff --git a/include/sound/soc-acpi.h b/include/sound/soc-acpi.h
index b38fd25c57295a..528279056b3ab9 100644
--- a/include/sound/soc-acpi.h
+++ b/include/sound/soc-acpi.h
@@ -170,6 +170,7 @@ struct snd_soc_acpi_link_adr {
/* Descriptor for SST ASoC machine driver */
struct snd_soc_acpi_mach {
u8 id[ACPI_ID_LEN];
+ const char *uid;
const struct snd_soc_acpi_codecs *comp_ids;
const u32 link_mask;
const struct snd_soc_acpi_link_adr *links;
diff --git a/sound/soc/intel/avs/board_selection.c b/sound/soc/intel/avs/board_selection.c
index b2823c2107f773..60f8fb0bff95b1 100644
--- a/sound/soc/intel/avs/board_selection.c
+++ b/sound/soc/intel/avs/board_selection.c
@@ -443,7 +443,7 @@ static int avs_register_i2s_boards(struct avs_dev *adev)
}
for (mach = boards->machs; mach->id[0]; mach++) {
- if (!acpi_dev_present(mach->id, NULL, -1))
+ if (!acpi_dev_present(mach->id, mach->uid, -1))
continue;
if (mach->machine_quirk)