Loading sound/pci/hda/Kconfig +0 −13 Original line number Diff line number Diff line Loading @@ -97,19 +97,6 @@ config SND_HDA_CODEC_REALTEK snd-hda-codec-realtek. This module is automatically loaded at probing. config SND_HDA_ENABLE_REALTEK_QUIRKS bool "Build static quirks for Realtek codecs" depends on SND_HDA_CODEC_REALTEK default y help Say Y here to build the static quirks codes for Realtek codecs. If you need the "model" preset that the default BIOS auto-parser can't handle, turn this option on. If your device works with model=auto option, basically you don't need the quirk code. By turning this off, you can reduce the module size quite a lot. config SND_HDA_CODEC_ANALOG bool "Build Analog Device HD-audio codec support" default y Loading sound/pci/hda/hda_auto_parser.c +0 −1 Original line number Diff line number Diff line Loading @@ -618,7 +618,6 @@ int snd_hda_gen_add_verbs(struct hda_gen_spec *spec, const struct hda_verb *list) { const struct hda_verb **v; snd_array_init(&spec->verbs, sizeof(struct hda_verb *), 8); v = snd_array_new(&spec->verbs); if (!v) return -ENOMEM; Loading sound/pci/hda/hda_auto_parser.h +10 −0 Original line number Diff line number Diff line Loading @@ -157,4 +157,14 @@ void snd_hda_pick_fixup(struct hda_codec *codec, const struct snd_pci_quirk *quirk, const struct hda_fixup *fixlist); static inline void snd_hda_gen_init(struct hda_gen_spec *spec) { snd_array_init(&spec->verbs, sizeof(struct hda_verb *), 8); } static inline void snd_hda_gen_free(struct hda_gen_spec *spec) { snd_array_free(&spec->verbs); } #endif /* __SOUND_HDA_AUTO_PARSER_H */ sound/pci/hda/hda_codec.c +4 −0 Original line number Diff line number Diff line Loading @@ -1184,6 +1184,7 @@ static void snd_hda_codec_free(struct hda_codec *codec) { if (!codec) return; snd_hda_jack_tbl_clear(codec); restore_init_pincfgs(codec); #ifdef CONFIG_SND_HDA_POWER_SAVE cancel_delayed_work(&codec->power_work); Loading @@ -1192,6 +1193,7 @@ static void snd_hda_codec_free(struct hda_codec *codec) list_del(&codec->list); snd_array_free(&codec->mixers); snd_array_free(&codec->nids); snd_array_free(&codec->cvt_setups); snd_array_free(&codec->conn_lists); snd_array_free(&codec->spdif_out); codec->bus->caddr_tbl[codec->addr] = NULL; Loading Loading @@ -2333,6 +2335,8 @@ int snd_hda_codec_reset(struct hda_codec *codec) /* free only driver_pins so that init_pins + user_pins are restored */ snd_array_free(&codec->driver_pins); restore_pincfgs(codec); snd_array_free(&codec->cvt_setups); snd_array_free(&codec->spdif_out); codec->num_pcms = 0; codec->pcm_info = NULL; codec->preset = NULL; Loading sound/pci/hda/patch_conexant.c +5 −1 Original line number Diff line number Diff line Loading @@ -445,8 +445,10 @@ static int conexant_init(struct hda_codec *codec) static void conexant_free(struct hda_codec *codec) { struct conexant_spec *spec = codec->spec; snd_hda_gen_free(&spec->gen); snd_hda_detach_beep_device(codec); kfree(codec->spec); kfree(spec); } static const struct snd_kcontrol_new cxt_capture_mixers[] = { Loading Loading @@ -4466,6 +4468,7 @@ static const struct snd_pci_quirk cxt5066_fixups[] = { SND_PCI_QUIRK(0x17aa, 0x21ce, "Lenovo T420", CXT_PINCFG_LENOVO_TP410), SND_PCI_QUIRK(0x17aa, 0x21cf, "Lenovo T520", CXT_PINCFG_LENOVO_TP410), SND_PCI_QUIRK(0x17aa, 0x3975, "Lenovo U300s", CXT_FIXUP_STEREO_DMIC), SND_PCI_QUIRK(0x17aa, 0x397b, "Lenovo S205", CXT_FIXUP_STEREO_DMIC), {} }; Loading Loading @@ -4497,6 +4500,7 @@ static int patch_conexant_auto(struct hda_codec *codec) if (!spec) return -ENOMEM; codec->spec = spec; snd_hda_gen_init(&spec->gen); switch (codec->vendor_id) { case 0x14f15045: Loading Loading
sound/pci/hda/Kconfig +0 −13 Original line number Diff line number Diff line Loading @@ -97,19 +97,6 @@ config SND_HDA_CODEC_REALTEK snd-hda-codec-realtek. This module is automatically loaded at probing. config SND_HDA_ENABLE_REALTEK_QUIRKS bool "Build static quirks for Realtek codecs" depends on SND_HDA_CODEC_REALTEK default y help Say Y here to build the static quirks codes for Realtek codecs. If you need the "model" preset that the default BIOS auto-parser can't handle, turn this option on. If your device works with model=auto option, basically you don't need the quirk code. By turning this off, you can reduce the module size quite a lot. config SND_HDA_CODEC_ANALOG bool "Build Analog Device HD-audio codec support" default y Loading
sound/pci/hda/hda_auto_parser.c +0 −1 Original line number Diff line number Diff line Loading @@ -618,7 +618,6 @@ int snd_hda_gen_add_verbs(struct hda_gen_spec *spec, const struct hda_verb *list) { const struct hda_verb **v; snd_array_init(&spec->verbs, sizeof(struct hda_verb *), 8); v = snd_array_new(&spec->verbs); if (!v) return -ENOMEM; Loading
sound/pci/hda/hda_auto_parser.h +10 −0 Original line number Diff line number Diff line Loading @@ -157,4 +157,14 @@ void snd_hda_pick_fixup(struct hda_codec *codec, const struct snd_pci_quirk *quirk, const struct hda_fixup *fixlist); static inline void snd_hda_gen_init(struct hda_gen_spec *spec) { snd_array_init(&spec->verbs, sizeof(struct hda_verb *), 8); } static inline void snd_hda_gen_free(struct hda_gen_spec *spec) { snd_array_free(&spec->verbs); } #endif /* __SOUND_HDA_AUTO_PARSER_H */
sound/pci/hda/hda_codec.c +4 −0 Original line number Diff line number Diff line Loading @@ -1184,6 +1184,7 @@ static void snd_hda_codec_free(struct hda_codec *codec) { if (!codec) return; snd_hda_jack_tbl_clear(codec); restore_init_pincfgs(codec); #ifdef CONFIG_SND_HDA_POWER_SAVE cancel_delayed_work(&codec->power_work); Loading @@ -1192,6 +1193,7 @@ static void snd_hda_codec_free(struct hda_codec *codec) list_del(&codec->list); snd_array_free(&codec->mixers); snd_array_free(&codec->nids); snd_array_free(&codec->cvt_setups); snd_array_free(&codec->conn_lists); snd_array_free(&codec->spdif_out); codec->bus->caddr_tbl[codec->addr] = NULL; Loading Loading @@ -2333,6 +2335,8 @@ int snd_hda_codec_reset(struct hda_codec *codec) /* free only driver_pins so that init_pins + user_pins are restored */ snd_array_free(&codec->driver_pins); restore_pincfgs(codec); snd_array_free(&codec->cvt_setups); snd_array_free(&codec->spdif_out); codec->num_pcms = 0; codec->pcm_info = NULL; codec->preset = NULL; Loading
sound/pci/hda/patch_conexant.c +5 −1 Original line number Diff line number Diff line Loading @@ -445,8 +445,10 @@ static int conexant_init(struct hda_codec *codec) static void conexant_free(struct hda_codec *codec) { struct conexant_spec *spec = codec->spec; snd_hda_gen_free(&spec->gen); snd_hda_detach_beep_device(codec); kfree(codec->spec); kfree(spec); } static const struct snd_kcontrol_new cxt_capture_mixers[] = { Loading Loading @@ -4466,6 +4468,7 @@ static const struct snd_pci_quirk cxt5066_fixups[] = { SND_PCI_QUIRK(0x17aa, 0x21ce, "Lenovo T420", CXT_PINCFG_LENOVO_TP410), SND_PCI_QUIRK(0x17aa, 0x21cf, "Lenovo T520", CXT_PINCFG_LENOVO_TP410), SND_PCI_QUIRK(0x17aa, 0x3975, "Lenovo U300s", CXT_FIXUP_STEREO_DMIC), SND_PCI_QUIRK(0x17aa, 0x397b, "Lenovo S205", CXT_FIXUP_STEREO_DMIC), {} }; Loading Loading @@ -4497,6 +4500,7 @@ static int patch_conexant_auto(struct hda_codec *codec) if (!spec) return -ENOMEM; codec->spec = spec; snd_hda_gen_init(&spec->gen); switch (codec->vendor_id) { case 0x14f15045: Loading