]> git.dujemihanovic.xyz Git - linux.git/commitdiff
ASoC: Intel: avs: Account for UID of ACPI device
authorCezary Rojewski <cezary.rojewski@intel.com>
Fri, 19 May 2023 20:17:09 +0000 (22:17 +0200)
committerMark Brown <broonie@kernel.org>
Mon, 22 May 2023 10:18:24 +0000 (11:18 +0100)
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>
include/sound/soc-acpi.h
sound/soc/intel/avs/board_selection.c

index b38fd25c57295a8e10809fdaa74272b90892c81b..528279056b3ab96eb062111774163d431a09afe2 100644 (file)
@@ -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;
index b2823c2107f77306b360239167dca62d7bdb05a1..60f8fb0bff95b1b3331b478a8de6f95a47076b61 100644 (file)
@@ -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)