Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

ALSA: hda: Use own quirk lookup helper

For allowing the primary codec SSID matching (that works around the
conflicting PCI SSID problems), introduce a new struct hda_quirk,
which is compatible with the existing struct snd_pci_quirk along with
new helper functions and macros.

The existing snd_pci_quirk tables are replaced with hda_quirk tables
accordingly, while keeping SND_PCI_QUIRK() entry definitions as is.

This patch shouldn't bring any behavior change, just some renaming and
shifting the code. The actual change for the codec SSID matching will
follow after this.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
Link: https://patch.msgid.link/20241008120233.7154-2-tiwai@suse.de

+106 -47
+50 -11
sound/pci/hda/hda_auto_parser.c
··· 956 956 } 957 957 EXPORT_SYMBOL_GPL(snd_hda_pick_pin_fixup); 958 958 959 + /* check whether the given quirk entry matches with vendor/device pair */ 960 + static bool hda_quirk_match(u16 vendor, u16 device, const struct hda_quirk *q) 961 + { 962 + if (q->subvendor != vendor) 963 + return false; 964 + return !q->subdevice || 965 + (device & q->subdevice_mask) == q->subdevice; 966 + } 967 + 968 + /* look through the quirk list and return the matching entry */ 969 + static const struct hda_quirk * 970 + hda_quirk_lookup_id(u16 vendor, u16 device, const struct hda_quirk *list) 971 + { 972 + const struct hda_quirk *q; 973 + 974 + for (q = list; q->subvendor || q->subdevice; q++) { 975 + if (hda_quirk_match(vendor, device, q)) 976 + return q; 977 + } 978 + return NULL; 979 + } 980 + 959 981 /** 960 982 * snd_hda_pick_fixup - Pick up a fixup matching with PCI/codec SSID or model string 961 983 * @codec: the HDA codec ··· 997 975 */ 998 976 void snd_hda_pick_fixup(struct hda_codec *codec, 999 977 const struct hda_model_fixup *models, 1000 - const struct snd_pci_quirk *quirk, 978 + const struct hda_quirk *quirk, 1001 979 const struct hda_fixup *fixlist) 1002 980 { 1003 - const struct snd_pci_quirk *q; 981 + const struct hda_quirk *q; 1004 982 int id = HDA_FIXUP_ID_NOT_SET; 1005 983 const char *name = NULL; 1006 984 const char *type = NULL; 1007 985 unsigned int vendor, device; 986 + u16 pci_vendor, pci_device; 987 + u16 codec_vendor, codec_device; 1008 988 1009 989 if (codec->fixup_id != HDA_FIXUP_ID_NOT_SET) 1010 990 return; ··· 1037 1013 if (!quirk) 1038 1014 return; 1039 1015 1016 + if (codec->bus->pci) { 1017 + pci_vendor = codec->bus->pci->subsystem_vendor; 1018 + pci_device = codec->bus->pci->subsystem_device; 1019 + } 1020 + 1021 + codec_vendor = codec->core.subsystem_id >> 16; 1022 + codec_device = codec->core.subsystem_id & 0xffff; 1023 + 1040 1024 /* match with the SSID alias given by the model string "XXXX:YYYY" */ 1041 1025 if (codec->modelname && 1042 1026 sscanf(codec->modelname, "%04x:%04x", &vendor, &device) == 2) { 1043 - q = snd_pci_quirk_lookup_id(vendor, device, quirk); 1027 + q = hda_quirk_lookup_id(vendor, device, quirk); 1044 1028 if (q) { 1045 1029 type = "alias SSID"; 1046 1030 goto found_device; 1047 1031 } 1048 1032 } 1049 1033 1050 - /* match with the PCI SSID */ 1051 - q = snd_pci_quirk_lookup(codec->bus->pci, quirk); 1052 - if (q) { 1053 - type = "PCI SSID"; 1054 - goto found_device; 1034 + /* match primarily with the PCI SSID */ 1035 + for (q = quirk; q->subvendor || q->subdevice; q++) { 1036 + /* if the entry is specific to codec SSID, check with it */ 1037 + if (!codec->bus->pci || q->match_codec_ssid) { 1038 + if (hda_quirk_match(codec_vendor, codec_device, q)) { 1039 + type = "codec SSID"; 1040 + goto found_device; 1041 + } 1042 + } else { 1043 + if (hda_quirk_match(pci_vendor, pci_device, q)) { 1044 + type = "PCI SSID"; 1045 + goto found_device; 1046 + } 1047 + } 1055 1048 } 1056 1049 1057 1050 /* match with the codec SSID */ 1058 - q = snd_pci_quirk_lookup_id(codec->core.subsystem_id >> 16, 1059 - codec->core.subsystem_id & 0xffff, 1060 - quirk); 1051 + q = hda_quirk_lookup_id(codec_vendor, codec_device, quirk); 1061 1052 if (q) { 1062 1053 type = "codec SSID"; 1063 1054 goto found_device;
+21 -1
sound/pci/hda/hda_local.h
··· 292 292 } v; 293 293 }; 294 294 295 + /* 296 + * extended form of snd_pci_quirk: 297 + * for PCI SSID matching, use SND_PCI_QUIRK() like before; 298 + * for codec SSID matching, use the new HDA_CODEC_QUIRK() instead 299 + */ 300 + struct hda_quirk { 301 + unsigned short subvendor; /* PCI subvendor ID */ 302 + unsigned short subdevice; /* PCI subdevice ID */ 303 + unsigned short subdevice_mask; /* bitmask to match */ 304 + bool match_codec_ssid; /* match only with codec SSID */ 305 + int value; /* value */ 306 + #ifdef CONFIG_SND_DEBUG_VERBOSE 307 + const char *name; /* name of the device (optional) */ 308 + #endif 309 + }; 310 + 311 + #define HDA_CODEC_QUIRK(vend, dev, xname, val) \ 312 + { _SND_PCI_QUIRK_ID(vend, dev), .value = (val), .name = (xname),\ 313 + .match_codec_ssid = true } 314 + 295 315 struct snd_hda_pin_quirk { 296 316 unsigned int codec; /* Codec vendor/device ID */ 297 317 unsigned short subvendor; /* PCI subvendor ID */ ··· 371 351 void __snd_hda_apply_fixup(struct hda_codec *codec, int id, int action, int depth); 372 352 void snd_hda_pick_fixup(struct hda_codec *codec, 373 353 const struct hda_model_fixup *models, 374 - const struct snd_pci_quirk *quirk, 354 + const struct hda_quirk *quirk, 375 355 const struct hda_fixup *fixlist); 376 356 void snd_hda_pick_pin_fixup(struct hda_codec *codec, 377 357 const struct snd_hda_pin_quirk *pin_quirk,
+3 -3
sound/pci/hda/patch_analog.c
··· 345 345 }, 346 346 }; 347 347 348 - static const struct snd_pci_quirk ad1986a_fixup_tbl[] = { 348 + static const struct hda_quirk ad1986a_fixup_tbl[] = { 349 349 SND_PCI_QUIRK(0x103c, 0x30af, "HP B2800", AD1986A_FIXUP_LAPTOP_IMIC), 350 350 SND_PCI_QUIRK(0x1043, 0x1153, "ASUS M9V", AD1986A_FIXUP_LAPTOP_IMIC), 351 351 SND_PCI_QUIRK(0x1043, 0x1443, "ASUS Z99He", AD1986A_FIXUP_EAPD), ··· 588 588 }, 589 589 }; 590 590 591 - static const struct snd_pci_quirk ad1981_fixup_tbl[] = { 591 + static const struct hda_quirk ad1981_fixup_tbl[] = { 592 592 SND_PCI_QUIRK_VENDOR(0x1014, "Lenovo", AD1981_FIXUP_AMP_OVERRIDE), 593 593 SND_PCI_QUIRK_VENDOR(0x103c, "HP", AD1981_FIXUP_HP_EAPD), 594 594 SND_PCI_QUIRK_VENDOR(0x17aa, "Lenovo", AD1981_FIXUP_AMP_OVERRIDE), ··· 1061 1061 }, 1062 1062 }; 1063 1063 1064 - static const struct snd_pci_quirk ad1884_fixup_tbl[] = { 1064 + static const struct hda_quirk ad1884_fixup_tbl[] = { 1065 1065 SND_PCI_QUIRK(0x103c, 0x2a82, "HP Touchsmart", AD1884_FIXUP_HP_TOUCHSMART), 1066 1066 SND_PCI_QUIRK_VENDOR(0x103c, "HP", AD1884_FIXUP_HP_EAPD), 1067 1067 SND_PCI_QUIRK_VENDOR(0x17aa, "Lenovo Thinkpad", AD1884_FIXUP_THINKPAD),
+4 -4
sound/pci/hda/patch_cirrus.c
··· 385 385 {} 386 386 }; 387 387 388 - static const struct snd_pci_quirk cs420x_fixup_tbl[] = { 388 + static const struct hda_quirk cs420x_fixup_tbl[] = { 389 389 SND_PCI_QUIRK(0x10de, 0x0ac0, "MacBookPro 5,3", CS420X_MBP53), 390 390 SND_PCI_QUIRK(0x10de, 0x0d94, "MacBookAir 3,1(2)", CS420X_MBP55), 391 391 SND_PCI_QUIRK(0x10de, 0xcb79, "MacBookPro 5,5", CS420X_MBP55), ··· 634 634 {} 635 635 }; 636 636 637 - static const struct snd_pci_quirk cs4208_fixup_tbl[] = { 637 + static const struct hda_quirk cs4208_fixup_tbl[] = { 638 638 SND_PCI_QUIRK_VENDOR(0x106b, "Apple", CS4208_MAC_AUTO), 639 639 {} /* terminator */ 640 640 }; 641 641 642 642 /* codec SSID matching */ 643 - static const struct snd_pci_quirk cs4208_mac_fixup_tbl[] = { 643 + static const struct hda_quirk cs4208_mac_fixup_tbl[] = { 644 644 SND_PCI_QUIRK(0x106b, 0x5e00, "MacBookPro 11,2", CS4208_MBP11), 645 645 SND_PCI_QUIRK(0x106b, 0x6c00, "MacMini 7,1", CS4208_MACMINI), 646 646 SND_PCI_QUIRK(0x106b, 0x7100, "MacBookAir 6,1", CS4208_MBA6), ··· 818 818 {} 819 819 }; 820 820 821 - static const struct snd_pci_quirk cs421x_fixup_tbl[] = { 821 + static const struct hda_quirk cs421x_fixup_tbl[] = { 822 822 /* Test Intel board + CDB2410 */ 823 823 SND_PCI_QUIRK(0x8086, 0x5001, "DP45SG/CDB4210", CS421X_CDB4210), 824 824 {} /* terminator */
+4 -4
sound/pci/hda/patch_conexant.c
··· 998 998 }, 999 999 }; 1000 1000 1001 - static const struct snd_pci_quirk cxt5045_fixups[] = { 1001 + static const struct hda_quirk cxt5045_fixups[] = { 1002 1002 SND_PCI_QUIRK(0x103c, 0x30d5, "HP 530", CXT_FIXUP_HP_530), 1003 1003 SND_PCI_QUIRK(0x1179, 0xff31, "Toshiba P105", CXT_FIXUP_TOSHIBA_P105), 1004 1004 /* HP, Packard Bell, Fujitsu-Siemens & Lenovo laptops have ··· 1018 1018 {} 1019 1019 }; 1020 1020 1021 - static const struct snd_pci_quirk cxt5047_fixups[] = { 1021 + static const struct hda_quirk cxt5047_fixups[] = { 1022 1022 /* HP laptops have really bad sound over 0 dB on NID 0x10. 1023 1023 */ 1024 1024 SND_PCI_QUIRK_VENDOR(0x103c, "HP", CXT_FIXUP_CAP_MIX_AMP_5047), ··· 1030 1030 {} 1031 1031 }; 1032 1032 1033 - static const struct snd_pci_quirk cxt5051_fixups[] = { 1033 + static const struct hda_quirk cxt5051_fixups[] = { 1034 1034 SND_PCI_QUIRK(0x103c, 0x360b, "Compaq CQ60", CXT_PINCFG_COMPAQ_CQ60), 1035 1035 SND_PCI_QUIRK(0x17aa, 0x20f2, "Lenovo X200", CXT_PINCFG_LENOVO_X200), 1036 1036 {} ··· 1041 1041 {} 1042 1042 }; 1043 1043 1044 - static const struct snd_pci_quirk cxt5066_fixups[] = { 1044 + static const struct hda_quirk cxt5066_fixups[] = { 1045 1045 SND_PCI_QUIRK(0x1025, 0x0543, "Acer Aspire One 522", CXT_FIXUP_STEREO_DMIC), 1046 1046 SND_PCI_QUIRK(0x1025, 0x054c, "Acer Aspire 3830TG", CXT_FIXUP_ASPIRE_DMIC), 1047 1047 SND_PCI_QUIRK(0x1025, 0x054f, "Acer Aspire 4830T", CXT_FIXUP_ASPIRE_DMIC),
+1 -1
sound/pci/hda/patch_cs8409-tables.c
··· 473 473 * Arrays Used for all projects using CS8409 474 474 ******************************************************************************/ 475 475 476 - const struct snd_pci_quirk cs8409_fixup_tbl[] = { 476 + const struct hda_quirk cs8409_fixup_tbl[] = { 477 477 SND_PCI_QUIRK(0x1028, 0x0A11, "Bullseye", CS8409_BULLSEYE), 478 478 SND_PCI_QUIRK(0x1028, 0x0A12, "Bullseye", CS8409_BULLSEYE), 479 479 SND_PCI_QUIRK(0x1028, 0x0A23, "Bullseye", CS8409_BULLSEYE),
+1 -1
sound/pci/hda/patch_cs8409.h
··· 355 355 356 356 extern const struct hda_pcm_stream cs42l42_48k_pcm_analog_playback; 357 357 extern const struct hda_pcm_stream cs42l42_48k_pcm_analog_capture; 358 - extern const struct snd_pci_quirk cs8409_fixup_tbl[]; 358 + extern const struct hda_quirk cs8409_fixup_tbl[]; 359 359 extern const struct hda_model_fixup cs8409_models[]; 360 360 extern const struct hda_fixup cs8409_fixups[]; 361 361 extern const struct hda_verb cs8409_cs42l42_init_verbs[];
+10 -10
sound/pci/hda/patch_realtek.c
··· 1565 1565 }, 1566 1566 }; 1567 1567 1568 - static const struct snd_pci_quirk alc880_fixup_tbl[] = { 1568 + static const struct hda_quirk alc880_fixup_tbl[] = { 1569 1569 SND_PCI_QUIRK(0x1019, 0x0f69, "Coeus G610P", ALC880_FIXUP_W810), 1570 1570 SND_PCI_QUIRK(0x1043, 0x10c3, "ASUS W5A", ALC880_FIXUP_ASUS_W5A), 1571 1571 SND_PCI_QUIRK(0x1043, 0x1964, "ASUS Z71V", ALC880_FIXUP_Z71V), ··· 1874 1874 }, 1875 1875 }; 1876 1876 1877 - static const struct snd_pci_quirk alc260_fixup_tbl[] = { 1877 + static const struct hda_quirk alc260_fixup_tbl[] = { 1878 1878 SND_PCI_QUIRK(0x1025, 0x007b, "Acer C20x", ALC260_FIXUP_GPIO1), 1879 1879 SND_PCI_QUIRK(0x1025, 0x007f, "Acer Aspire 9500", ALC260_FIXUP_COEF), 1880 1880 SND_PCI_QUIRK(0x1025, 0x008f, "Acer", ALC260_FIXUP_GPIO1), ··· 2566 2566 }, 2567 2567 }; 2568 2568 2569 - static const struct snd_pci_quirk alc882_fixup_tbl[] = { 2569 + static const struct hda_quirk alc882_fixup_tbl[] = { 2570 2570 SND_PCI_QUIRK(0x1025, 0x006c, "Acer Aspire 9810", ALC883_FIXUP_ACER_EAPD), 2571 2571 SND_PCI_QUIRK(0x1025, 0x0090, "Acer Aspire", ALC883_FIXUP_ACER_EAPD), 2572 2572 SND_PCI_QUIRK(0x1025, 0x0107, "Acer Aspire", ALC883_FIXUP_ACER_EAPD), ··· 2910 2910 }, 2911 2911 }; 2912 2912 2913 - static const struct snd_pci_quirk alc262_fixup_tbl[] = { 2913 + static const struct hda_quirk alc262_fixup_tbl[] = { 2914 2914 SND_PCI_QUIRK(0x103c, 0x170b, "HP Z200", ALC262_FIXUP_HP_Z200), 2915 2915 SND_PCI_QUIRK(0x10cf, 0x1397, "Fujitsu Lifebook S7110", ALC262_FIXUP_FSC_S7110), 2916 2916 SND_PCI_QUIRK(0x10cf, 0x142d, "Fujitsu Lifebook E8410", ALC262_FIXUP_BENQ), ··· 3071 3071 {} 3072 3072 }; 3073 3073 3074 - static const struct snd_pci_quirk alc268_fixup_tbl[] = { 3074 + static const struct hda_quirk alc268_fixup_tbl[] = { 3075 3075 SND_PCI_QUIRK(0x1025, 0x0139, "Acer TravelMate 6293", ALC268_FIXUP_SPDIF), 3076 3076 SND_PCI_QUIRK(0x1025, 0x015b, "Acer AOA 150 (ZG5)", ALC268_FIXUP_INV_DMIC), 3077 3077 /* below is codec SSID since multiple Toshiba laptops have the ··· 10079 10079 }, 10080 10080 }; 10081 10081 10082 - static const struct snd_pci_quirk alc269_fixup_tbl[] = { 10082 + static const struct hda_quirk alc269_fixup_tbl[] = { 10083 10083 SND_PCI_QUIRK(0x1025, 0x0283, "Acer TravelMate 8371", ALC269_FIXUP_INV_DMIC), 10084 10084 SND_PCI_QUIRK(0x1025, 0x029b, "Acer 1810TZ", ALC269_FIXUP_INV_DMIC), 10085 10085 SND_PCI_QUIRK(0x1025, 0x0349, "Acer AOD260", ALC269_FIXUP_INV_DMIC), ··· 10967 10967 {} 10968 10968 }; 10969 10969 10970 - static const struct snd_pci_quirk alc269_fixup_vendor_tbl[] = { 10970 + static const struct hda_quirk alc269_fixup_vendor_tbl[] = { 10971 10971 SND_PCI_QUIRK_VENDOR(0x1025, "Acer Aspire", ALC271_FIXUP_DMIC), 10972 10972 SND_PCI_QUIRK_VENDOR(0x103c, "HP", ALC269_FIXUP_HP_MUTE_LED), 10973 10973 SND_PCI_QUIRK_VENDOR(0x104d, "Sony VAIO", ALC269_FIXUP_SONY_VAIO), ··· 11900 11900 } 11901 11901 }; 11902 11902 11903 - static const struct snd_pci_quirk alc861_fixup_tbl[] = { 11903 + static const struct hda_quirk alc861_fixup_tbl[] = { 11904 11904 SND_PCI_QUIRK(0x1043, 0x1253, "ASUS W7J", ALC660_FIXUP_ASUS_W7J), 11905 11905 SND_PCI_QUIRK(0x1043, 0x1263, "ASUS Z35HL", ALC660_FIXUP_ASUS_W7J), 11906 11906 SND_PCI_QUIRK(0x1043, 0x1393, "ASUS A6Rp", ALC861_FIXUP_ASUS_A6RP), ··· 12004 12004 }, 12005 12005 }; 12006 12006 12007 - static const struct snd_pci_quirk alc861vd_fixup_tbl[] = { 12007 + static const struct hda_quirk alc861vd_fixup_tbl[] = { 12008 12008 SND_PCI_QUIRK(0x103c, 0x30bf, "HP TX1000", ALC861VD_FIX_DALLAS), 12009 12009 SND_PCI_QUIRK(0x1043, 0x1339, "ASUS A7-K", ALC660VD_FIX_ASUS_GPIO1), 12010 12010 SND_PCI_QUIRK(0x1179, 0xff31, "Toshiba L30-149", ALC861VD_FIX_DALLAS), ··· 12805 12805 }, 12806 12806 }; 12807 12807 12808 - static const struct snd_pci_quirk alc662_fixup_tbl[] = { 12808 + static const struct hda_quirk alc662_fixup_tbl[] = { 12809 12809 SND_PCI_QUIRK(0x1019, 0x9087, "ECS", ALC662_FIXUP_ASUS_MODE2), 12810 12810 SND_PCI_QUIRK(0x1019, 0x9859, "JP-IK LEAP W502", ALC897_FIXUP_HEADSET_MIC_PIN3), 12811 12811 SND_PCI_QUIRK(0x1025, 0x022f, "Acer Aspire One", ALC662_FIXUP_INV_DMIC),
+11 -11
sound/pci/hda/patch_sigmatel.c
··· 1462 1462 {} 1463 1463 }; 1464 1464 1465 - static const struct snd_pci_quirk stac9200_fixup_tbl[] = { 1465 + static const struct hda_quirk stac9200_fixup_tbl[] = { 1466 1466 /* SigmaTel reference board */ 1467 1467 SND_PCI_QUIRK(PCI_VENDOR_ID_INTEL, 0x2668, 1468 1468 "DFI LanParty", STAC_REF), ··· 1683 1683 {} 1684 1684 }; 1685 1685 1686 - static const struct snd_pci_quirk stac925x_fixup_tbl[] = { 1686 + static const struct hda_quirk stac925x_fixup_tbl[] = { 1687 1687 /* SigmaTel reference board */ 1688 1688 SND_PCI_QUIRK(PCI_VENDOR_ID_INTEL, 0x2668, "DFI LanParty", STAC_REF), 1689 1689 SND_PCI_QUIRK(PCI_VENDOR_ID_DFI, 0x3101, "DFI LanParty", STAC_REF), ··· 1957 1957 {} 1958 1958 }; 1959 1959 1960 - static const struct snd_pci_quirk stac92hd73xx_fixup_tbl[] = { 1960 + static const struct hda_quirk stac92hd73xx_fixup_tbl[] = { 1961 1961 /* SigmaTel reference board */ 1962 1962 SND_PCI_QUIRK(PCI_VENDOR_ID_INTEL, 0x2668, 1963 1963 "DFI LanParty", STAC_92HD73XX_REF), ··· 2753 2753 {} 2754 2754 }; 2755 2755 2756 - static const struct snd_pci_quirk stac92hd83xxx_fixup_tbl[] = { 2756 + static const struct hda_quirk stac92hd83xxx_fixup_tbl[] = { 2757 2757 /* SigmaTel reference board */ 2758 2758 SND_PCI_QUIRK(PCI_VENDOR_ID_INTEL, 0x2668, 2759 2759 "DFI LanParty", STAC_92HD83XXX_REF), ··· 3236 3236 {} 3237 3237 }; 3238 3238 3239 - static const struct snd_pci_quirk stac92hd71bxx_fixup_tbl[] = { 3239 + static const struct hda_quirk stac92hd71bxx_fixup_tbl[] = { 3240 3240 /* SigmaTel reference board */ 3241 3241 SND_PCI_QUIRK(PCI_VENDOR_ID_INTEL, 0x2668, 3242 3242 "DFI LanParty", STAC_92HD71BXX_REF), ··· 3496 3496 }; 3497 3497 3498 3498 /* codec SSIDs for Intel Mac sharing the same PCI SSID 8384:7680 */ 3499 - static const struct snd_pci_quirk stac922x_intel_mac_fixup_tbl[] = { 3499 + static const struct hda_quirk stac922x_intel_mac_fixup_tbl[] = { 3500 3500 SND_PCI_QUIRK(0x0000, 0x0100, "Mac Mini", STAC_INTEL_MAC_V3), 3501 3501 SND_PCI_QUIRK(0x106b, 0x0800, "Mac", STAC_INTEL_MAC_V1), 3502 3502 SND_PCI_QUIRK(0x106b, 0x0600, "Mac", STAC_INTEL_MAC_V2), ··· 3640 3640 {} 3641 3641 }; 3642 3642 3643 - static const struct snd_pci_quirk stac922x_fixup_tbl[] = { 3643 + static const struct hda_quirk stac922x_fixup_tbl[] = { 3644 3644 /* SigmaTel reference board */ 3645 3645 SND_PCI_QUIRK(PCI_VENDOR_ID_INTEL, 0x2668, 3646 3646 "DFI LanParty", STAC_D945_REF), ··· 3968 3968 {} 3969 3969 }; 3970 3970 3971 - static const struct snd_pci_quirk stac927x_fixup_tbl[] = { 3971 + static const struct hda_quirk stac927x_fixup_tbl[] = { 3972 3972 /* SigmaTel reference board */ 3973 3973 SND_PCI_QUIRK(PCI_VENDOR_ID_INTEL, 0x2668, 3974 3974 "DFI LanParty", STAC_D965_REF), ··· 4178 4178 {} 4179 4179 }; 4180 4180 4181 - static const struct snd_pci_quirk stac9205_fixup_tbl[] = { 4181 + static const struct hda_quirk stac9205_fixup_tbl[] = { 4182 4182 /* SigmaTel reference board */ 4183 4183 SND_PCI_QUIRK(PCI_VENDOR_ID_INTEL, 0x2668, 4184 4184 "DFI LanParty", STAC_9205_REF), ··· 4255 4255 }, 4256 4256 }; 4257 4257 4258 - static const struct snd_pci_quirk stac92hd95_fixup_tbl[] = { 4258 + static const struct hda_quirk stac92hd95_fixup_tbl[] = { 4259 4259 SND_PCI_QUIRK(PCI_VENDOR_ID_HP, 0x1911, "HP Spectre 13", STAC_92HD95_HP_BASS), 4260 4260 {} /* terminator */ 4261 4261 }; ··· 5002 5002 }, 5003 5003 }; 5004 5004 5005 - static const struct snd_pci_quirk stac9872_fixup_tbl[] = { 5005 + static const struct hda_quirk stac9872_fixup_tbl[] = { 5006 5006 SND_PCI_QUIRK_MASK(0x104d, 0xfff0, 0x81e0, 5007 5007 "Sony VAIO F/S", STAC_9872_VAIO), 5008 5008 {} /* terminator */
+1 -1
sound/pci/hda/patch_via.c
··· 1035 1035 }, 1036 1036 }; 1037 1037 1038 - static const struct snd_pci_quirk vt2002p_fixups[] = { 1038 + static const struct hda_quirk vt2002p_fixups[] = { 1039 1039 SND_PCI_QUIRK(0x1043, 0x13f7, "Asus B23E", VIA_FIXUP_POWER_SAVE), 1040 1040 SND_PCI_QUIRK(0x1043, 0x1487, "Asus G75", VIA_FIXUP_ASUS_G75), 1041 1041 SND_PCI_QUIRK(0x1043, 0x8532, "Asus X202E", VIA_FIXUP_INTMIC_BOOST),