Re: [PATCH 3/3] ASoC: Intel: sof_rt5682: use id_alt to enumerate rt5682s

From: Pierre-Louis Bossart
Date: Wed Oct 06 2021 - 14:43:15 EST




On 10/6/21 1:34 PM, Curtis Malainey wrote:
>> };
>>
>> +static struct snd_soc_acpi_codecs adl_rt5682s_hp = {
>> + .num_codecs = 1,
>> + .codecs = {"RTL5682"}
>> +};
>> +
>> struct snd_soc_acpi_mach snd_soc_acpi_intel_adl_machines[] = {
>> {
>> .id = "10EC5682",
>> + .id_alt = &adl_rt5682s_hp,
>> .drv_name = "adl_mx98373_rt5682",
>> .machine_quirk = snd_soc_acpi_codec_list,
>> .quirk_data = &adl_max98373_amp,
>> @@ -296,6 +302,7 @@ struct snd_soc_acpi_mach snd_soc_acpi_intel_adl_machines[] = {
>> },
>> {
>> .id = "10EC5682",
>> + .id_alt = &adl_rt5682s_hp,
>> .drv_name = "adl_mx98357_rt5682",
>> .machine_quirk = snd_soc_acpi_codec_list,
>> .quirk_data = &adl_max98357a_amp,
>> @@ -304,6 +311,7 @@ struct snd_soc_acpi_mach snd_soc_acpi_intel_adl_machines[] = {
>> },
>> {
>> .id = "10EC5682",
>> + .id_alt = &adl_rt5682s_hp,
>> .drv_name = "adl_mx98360_rt5682",
>> .machine_quirk = snd_soc_acpi_codec_list,
>> .quirk_data = &adl_max98360a_amp,
>
> Is there any way we can collapse this and the primary id into a single
> list to avoid having 2 locations to track for the IDs?

I was thinking about that too, but in that case we would want to have a
list of strings, rather than the address of a structure which adds one
layer of indirection.

Something like

.id = { "10EC5682", "RTL5682" }

and the .num_codecs removed and some termination added.