This is technically not a 'RESEND, v3' since it's different from v3. Please don't do this. > --- > changes in resend v3: > - use .comp_ids to scan acpi support ALC5682I-VD or ALC5682I-VS and this indeed shows you modified the code... > +static const struct snd_soc_acpi_codecs adl_max98390_amp = { > + .num_codecs = 1, > + .codecs = {"MX98390"} > +}; > + > struct snd_soc_acpi_mach snd_soc_acpi_intel_adl_machines[] = { > { > .comp_ids = &adl_rt5682_rt5682s_hp, > @@ -434,6 +439,22 @@ struct snd_soc_acpi_mach snd_soc_acpi_intel_adl_machines[] = { > .sof_fw_filename = "sof-adl.ri", > .sof_tplg_filename = "sof-adl-nau8825.tplg", > }, > + { > + .comp_ids = &adl_rt5682_rt5682s_hp, > + .drv_name = "adl_max98390_rt5682", > + .machine_quirk = snd_soc_acpi_codec_list, > + .quirk_data = &adl_max98390_amp, > + .sof_fw_filename = "sof-adl.ri", > + .sof_tplg_filename = "sof-adl-max98390-rt5682.tplg", > + }, > + { > + .comp_ids = &adl_rt5682_rt5682s_hp, > + .drv_name = "adl_mx98390_rt5682s", > + .machine_quirk = snd_soc_acpi_codec_list, > + .quirk_data = &adl_max98390_amp, > + .sof_fw_filename = "sof-adl.ri", > + .sof_tplg_filename = "sof-adl-max98390-rt5682.tplg", > + }, I don't follow the last two entries.. They use the same 'comp_ids': static const struct snd_soc_acpi_codecs adl_rt5682_rt5682s_hp = { .num_codecs = 2, .codecs = {"10EC5682", "RTL5682"}, }; the same machine quirk: snd_soc_acpi_codec_list, the same quirk_data: &adl_max98390_amp, but a different driver. .drv_name = "adl_max98390_rt5682", .drv_name = "adl_mx98390_rt5682s", it looks like the second entry will never be selected. Can you please explain how this works if it's intentional or double-check if this is correct. I think it's a copy-paste from the case where the amplifier is different, but here only the headset codec is different.