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

Pierre-Louis Bossart pierre-louis.bossart at linux.intel.com
Wed Oct 6 20:43:07 CEST 2021



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.



More information about the Alsa-devel mailing list