@@ -7687,8 +7687,6 @@ enum {
7687
7687
ALC287_FIXUP_LEGION_15IMHG05_AUTOMUTE ,
7688
7688
ALC287_FIXUP_YOGA7_14ITL_SPEAKERS ,
7689
7689
ALC298_FIXUP_LENOVO_C940_DUET7 ,
7690
- ALC287_FIXUP_LENOVO_14IRP8_DUETITL ,
7691
- ALC287_FIXUP_LENOVO_LEGION_7 ,
7692
7690
ALC287_FIXUP_13S_GEN2_SPEAKERS ,
7693
7691
ALC256_FIXUP_SET_COEF_DEFAULTS ,
7694
7692
ALC256_FIXUP_SYSTEM76_MIC_NO_PRESENCE ,
@@ -7732,8 +7730,6 @@ enum {
7732
7730
ALC285_FIXUP_ASUS_GU605_SPI_SPEAKER2_TO_DAC1 ,
7733
7731
ALC287_FIXUP_LENOVO_THKPAD_WH_ALC1318 ,
7734
7732
ALC256_FIXUP_CHROME_BOOK ,
7735
- ALC287_FIXUP_LENOVO_14ARP8_LEGION_IAH7 ,
7736
- ALC287_FIXUP_LENOVO_SSID_17AA3820 ,
7737
7733
ALC245_FIXUP_CLEVO_NOISY_MIC ,
7738
7734
ALC269_FIXUP_VAIO_VJFH52_MIC_NO_PRESENCE ,
7739
7735
};
@@ -7755,72 +7751,6 @@ static void alc298_fixup_lenovo_c940_duet7(struct hda_codec *codec,
7755
7751
__snd_hda_apply_fixup (codec , id , action , 0 );
7756
7752
}
7757
7753
7758
- /* A special fixup for Lenovo Slim/Yoga Pro 9 14IRP8 and Yoga DuetITL 2021;
7759
- * 14IRP8 PCI SSID will mistakenly be matched with the DuetITL codec SSID,
7760
- * so we need to apply a different fixup in this case. The only DuetITL codec
7761
- * SSID reported so far is the 17aa:3802 while the 14IRP8 has the 17aa:38be
7762
- * and 17aa:38bf. If it weren't for the PCI SSID, the 14IRP8 models would
7763
- * have matched correctly by their codecs.
7764
- */
7765
- static void alc287_fixup_lenovo_14irp8_duetitl (struct hda_codec * codec ,
7766
- const struct hda_fixup * fix ,
7767
- int action )
7768
- {
7769
- int id ;
7770
-
7771
- if (codec -> core .subsystem_id == 0x17aa3802 )
7772
- id = ALC287_FIXUP_YOGA7_14ITL_SPEAKERS ; /* DuetITL */
7773
- else
7774
- id = ALC287_FIXUP_TAS2781_I2C ; /* 14IRP8 */
7775
- __snd_hda_apply_fixup (codec , id , action , 0 );
7776
- }
7777
-
7778
- /* Similar to above the Lenovo Yoga Pro 7 14ARP8 PCI SSID matches the codec SSID of the
7779
- Legion Y9000X 2022 IAH7.*/
7780
- static void alc287_fixup_lenovo_14arp8_legion_iah7 (struct hda_codec * codec ,
7781
- const struct hda_fixup * fix ,
7782
- int action )
7783
- {
7784
- int id ;
7785
-
7786
- if (codec -> core .subsystem_id == 0x17aa386e )
7787
- id = ALC287_FIXUP_CS35L41_I2C_2 ; /* Legion Y9000X 2022 IAH7 */
7788
- else
7789
- id = ALC285_FIXUP_SPEAKER2_TO_DAC1 ; /* Yoga Pro 7 14ARP8 */
7790
- __snd_hda_apply_fixup (codec , id , action , 0 );
7791
- }
7792
-
7793
- /* Another hilarious PCI SSID conflict with Lenovo Legion Pro 7 16ARX8H (with
7794
- * TAS2781 codec) and Legion 7i 16IAX7 (with CS35L41 codec);
7795
- * we apply a corresponding fixup depending on the codec SSID instead
7796
- */
7797
- static void alc287_fixup_lenovo_legion_7 (struct hda_codec * codec ,
7798
- const struct hda_fixup * fix ,
7799
- int action )
7800
- {
7801
- int id ;
7802
-
7803
- if (codec -> core .subsystem_id == 0x17aa38a8 )
7804
- id = ALC287_FIXUP_TAS2781_I2C ; /* Legion Pro 7 16ARX8H */
7805
- else
7806
- id = ALC287_FIXUP_CS35L41_I2C_2 ; /* Legion 7i 16IAX7 */
7807
- __snd_hda_apply_fixup (codec , id , action , 0 );
7808
- }
7809
-
7810
- /* Yet more conflicting PCI SSID (17aa:3820) on two Lenovo models */
7811
- static void alc287_fixup_lenovo_ssid_17aa3820 (struct hda_codec * codec ,
7812
- const struct hda_fixup * fix ,
7813
- int action )
7814
- {
7815
- int id ;
7816
-
7817
- if (codec -> core .subsystem_id == 0x17aa3820 )
7818
- id = ALC269_FIXUP_ASPIRE_HEADSET_MIC ; /* IdeaPad 330-17IKB 81DM */
7819
- else /* 0x17aa3802 */
7820
- id = ALC287_FIXUP_YOGA7_14ITL_SPEAKERS ; /* "Yoga Duet 7 13ITL6 */
7821
- __snd_hda_apply_fixup (codec , id , action , 0 );
7822
- }
7823
-
7824
7754
static const struct hda_fixup alc269_fixups [] = {
7825
7755
[ALC269_FIXUP_GPIO2 ] = {
7826
7756
.type = HDA_FIXUP_FUNC ,
@@ -9731,14 +9661,6 @@ static const struct hda_fixup alc269_fixups[] = {
9731
9661
.type = HDA_FIXUP_FUNC ,
9732
9662
.v .func = alc298_fixup_lenovo_c940_duet7 ,
9733
9663
},
9734
- [ALC287_FIXUP_LENOVO_14IRP8_DUETITL ] = {
9735
- .type = HDA_FIXUP_FUNC ,
9736
- .v .func = alc287_fixup_lenovo_14irp8_duetitl ,
9737
- },
9738
- [ALC287_FIXUP_LENOVO_LEGION_7 ] = {
9739
- .type = HDA_FIXUP_FUNC ,
9740
- .v .func = alc287_fixup_lenovo_legion_7 ,
9741
- },
9742
9664
[ALC287_FIXUP_13S_GEN2_SPEAKERS ] = {
9743
9665
.type = HDA_FIXUP_VERBS ,
9744
9666
.v .verbs = (const struct hda_verb []) {
@@ -9923,10 +9845,6 @@ static const struct hda_fixup alc269_fixups[] = {
9923
9845
.chained = true,
9924
9846
.chain_id = ALC287_FIXUP_YOGA9_14IAP7_BASS_SPK ,
9925
9847
},
9926
- [ALC287_FIXUP_LENOVO_14ARP8_LEGION_IAH7 ] = {
9927
- .type = HDA_FIXUP_FUNC ,
9928
- .v .func = alc287_fixup_lenovo_14arp8_legion_iah7 ,
9929
- },
9930
9848
[ALC287_FIXUP_YOGA9_14IMH9_BASS_SPK_PIN ] = {
9931
9849
.type = HDA_FIXUP_FUNC ,
9932
9850
.v .func = alc287_fixup_yoga9_14iap7_bass_spk_pin ,
@@ -10057,10 +9975,6 @@ static const struct hda_fixup alc269_fixups[] = {
10057
9975
.chained = true,
10058
9976
.chain_id = ALC225_FIXUP_HEADSET_JACK
10059
9977
},
10060
- [ALC287_FIXUP_LENOVO_SSID_17AA3820 ] = {
10061
- .type = HDA_FIXUP_FUNC ,
10062
- .v .func = alc287_fixup_lenovo_ssid_17aa3820 ,
10063
- },
10064
9978
[ALC245_FIXUP_CLEVO_NOISY_MIC ] = {
10065
9979
.type = HDA_FIXUP_FUNC ,
10066
9980
.v .func = alc269_fixup_limit_int_mic_boost ,
@@ -10794,11 +10708,13 @@ static const struct hda_quirk alc269_fixup_tbl[] = {
10794
10708
SND_PCI_QUIRK (0x17aa , 0x31af , "ThinkCentre Station" , ALC623_FIXUP_LENOVO_THINKSTATION_P340 ),
10795
10709
SND_PCI_QUIRK (0x17aa , 0x334b , "Lenovo ThinkCentre M70 Gen5" , ALC283_FIXUP_HEADSET_MIC ),
10796
10710
SND_PCI_QUIRK (0x17aa , 0x3801 , "Lenovo Yoga9 14IAP7" , ALC287_FIXUP_YOGA9_14IAP7_BASS_SPK_PIN ),
10797
- SND_PCI_QUIRK (0x17aa , 0x3802 , "Lenovo Yoga Pro 9 14IRP8 / DuetITL 2021" , ALC287_FIXUP_LENOVO_14IRP8_DUETITL ),
10711
+ HDA_CODEC_QUIRK (0x17aa , 0x3802 , "DuetITL 2021" , ALC287_FIXUP_YOGA7_14ITL_SPEAKERS ),
10712
+ SND_PCI_QUIRK (0x17aa , 0x3802 , "Lenovo Yoga Pro 9 14IRP8" , ALC287_FIXUP_TAS2781_I2C ),
10798
10713
SND_PCI_QUIRK (0x17aa , 0x3813 , "Legion 7i 15IMHG05" , ALC287_FIXUP_LEGION_15IMHG05_SPEAKERS ),
10799
10714
SND_PCI_QUIRK (0x17aa , 0x3818 , "Lenovo C940 / Yoga Duet 7" , ALC298_FIXUP_LENOVO_C940_DUET7 ),
10800
10715
SND_PCI_QUIRK (0x17aa , 0x3819 , "Lenovo 13s Gen2 ITL" , ALC287_FIXUP_13S_GEN2_SPEAKERS ),
10801
- SND_PCI_QUIRK (0x17aa , 0x3820 , "IdeaPad 330 / Yoga Duet 7" , ALC287_FIXUP_LENOVO_SSID_17AA3820 ),
10716
+ HDA_CODEC_QUIRK (0x17aa , 0x3820 , "IdeaPad 330-17IKB 81DM" , ALC269_FIXUP_ASPIRE_HEADSET_MIC ),
10717
+ SND_PCI_QUIRK (0x17aa , 0x3820 , "Yoga Duet 7 13ITL6" , ALC287_FIXUP_YOGA7_14ITL_SPEAKERS ),
10802
10718
SND_PCI_QUIRK (0x17aa , 0x3824 , "Legion Y9000X 2020" , ALC285_FIXUP_LEGION_Y9000X_SPEAKERS ),
10803
10719
SND_PCI_QUIRK (0x17aa , 0x3827 , "Ideapad S740" , ALC285_FIXUP_IDEAPAD_S740_COEF ),
10804
10720
SND_PCI_QUIRK (0x17aa , 0x3834 , "Lenovo IdeaPad Slim 9i 14ITL5" , ALC287_FIXUP_YOGA7_14ITL_SPEAKERS ),
@@ -10812,8 +10728,10 @@ static const struct hda_quirk alc269_fixup_tbl[] = {
10812
10728
SND_PCI_QUIRK (0x17aa , 0x3865 , "Lenovo 13X" , ALC287_FIXUP_CS35L41_I2C_2 ),
10813
10729
SND_PCI_QUIRK (0x17aa , 0x3866 , "Lenovo 13X" , ALC287_FIXUP_CS35L41_I2C_2 ),
10814
10730
SND_PCI_QUIRK (0x17aa , 0x3869 , "Lenovo Yoga7 14IAL7" , ALC287_FIXUP_YOGA9_14IAP7_BASS_SPK_PIN ),
10815
- SND_PCI_QUIRK (0x17aa , 0x386e , "Legion Y9000X 2022 IAH7 / Yoga Pro 7 14ARP8" , ALC287_FIXUP_LENOVO_14ARP8_LEGION_IAH7 ),
10816
- SND_PCI_QUIRK (0x17aa , 0x386f , "Legion Pro 7/7i" , ALC287_FIXUP_LENOVO_LEGION_7 ),
10731
+ HDA_CODEC_QUIRK (0x17aa , 0x386e , "Legion Y9000X 2022 IAH7" , ALC287_FIXUP_CS35L41_I2C_2 ),
10732
+ SND_PCI_QUIRK (0x17aa , 0x386e , "Yoga Pro 7 14ARP8" , ALC285_FIXUP_SPEAKER2_TO_DAC1 ),
10733
+ HDA_CODEC_QUIRK (0x17aa , 0x386f , "Legion Pro 7 16ARX8H" , ALC287_FIXUP_TAS2781_I2C ),
10734
+ SND_PCI_QUIRK (0x17aa , 0x386f , "Legion Pro 7i 16IAX7" , ALC287_FIXUP_CS35L41_I2C_2 ),
10817
10735
SND_PCI_QUIRK (0x17aa , 0x3870 , "Lenovo Yoga 7 14ARB7" , ALC287_FIXUP_YOGA7_14ARB7_I2C ),
10818
10736
SND_PCI_QUIRK (0x17aa , 0x3877 , "Lenovo Legion 7 Slim 16ARHA7" , ALC287_FIXUP_CS35L41_I2C_2 ),
10819
10737
SND_PCI_QUIRK (0x17aa , 0x3878 , "Lenovo Legion 7 Slim 16ARHA7" , ALC287_FIXUP_CS35L41_I2C_2 ),
0 commit comments