Loading sound/pci/hda/Kconfig +50 −0 Original line number Diff line number Diff line Loading @@ -46,6 +46,11 @@ config SND_HDA_CODEC_REALTEK Say Y here to include Realtek HD-audio codec support in snd-hda-intel driver, such as ALC880. When the HD-audio driver is built as a module, the codec support code is also built as another module, snd-hda-codec-realtek. This module is automatically loaded at probing. config SND_HDA_CODEC_ANALOG bool "Build Analog Device HD-audio codec support" default y Loading @@ -53,6 +58,11 @@ config SND_HDA_CODEC_ANALOG Say Y here to include Analog Device HD-audio codec support in snd-hda-intel driver, such as AD1986A. When the HD-audio driver is built as a module, the codec support code is also built as another module, snd-hda-codec-analog. This module is automatically loaded at probing. config SND_HDA_CODEC_SIGMATEL bool "Build IDT/Sigmatel HD-audio codec support" default y Loading @@ -60,6 +70,11 @@ config SND_HDA_CODEC_SIGMATEL Say Y here to include IDT (Sigmatel) HD-audio codec support in snd-hda-intel driver, such as STAC9200. When the HD-audio driver is built as a module, the codec support code is also built as another module, snd-hda-codec-idt. This module is automatically loaded at probing. config SND_HDA_CODEC_VIA bool "Build VIA HD-audio codec support" default y Loading @@ -67,6 +82,11 @@ config SND_HDA_CODEC_VIA Say Y here to include VIA HD-audio codec support in snd-hda-intel driver, such as VT1708. When the HD-audio driver is built as a module, the codec support code is also built as another module, snd-hda-codec-via. This module is automatically loaded at probing. config SND_HDA_CODEC_ATIHDMI bool "Build ATI HDMI HD-audio codec support" default y Loading @@ -74,6 +94,11 @@ config SND_HDA_CODEC_ATIHDMI Say Y here to include ATI HDMI HD-audio codec support in snd-hda-intel driver, such as ATI RS600 HDMI. When the HD-audio driver is built as a module, the codec support code is also built as another module, snd-hda-codec-atihdmi. This module is automatically loaded at probing. config SND_HDA_CODEC_NVHDMI bool "Build NVIDIA HDMI HD-audio codec support" default y Loading @@ -81,6 +106,11 @@ config SND_HDA_CODEC_NVHDMI Say Y here to include NVIDIA HDMI HD-audio codec support in snd-hda-intel driver, such as NVIDIA MCP78 HDMI. When the HD-audio driver is built as a module, the codec support code is also built as another module, snd-hda-codec-nvhdmi. This module is automatically loaded at probing. config SND_HDA_CODEC_INTELHDMI bool "Build INTEL HDMI HD-audio codec support" default y Loading @@ -88,6 +118,11 @@ config SND_HDA_CODEC_INTELHDMI Say Y here to include INTEL HDMI HD-audio codec support in snd-hda-intel driver, such as Eaglelake integrated HDMI. When the HD-audio driver is built as a module, the codec support code is also built as another module, snd-hda-codec-intelhdmi. This module is automatically loaded at probing. config SND_HDA_ELD def_bool y depends on SND_HDA_CODEC_INTELHDMI Loading @@ -99,6 +134,11 @@ config SND_HDA_CODEC_CONEXANT Say Y here to include Conexant HD-audio codec support in snd-hda-intel driver, such as CX20549. When the HD-audio driver is built as a module, the codec support code is also built as another module, snd-hda-codec-conexant. This module is automatically loaded at probing. config SND_HDA_CODEC_CMEDIA bool "Build C-Media HD-audio codec support" default y Loading @@ -106,6 +146,11 @@ config SND_HDA_CODEC_CMEDIA Say Y here to include C-Media HD-audio codec support in snd-hda-intel driver, such as CMI9880. When the HD-audio driver is built as a module, the codec support code is also built as another module, snd-hda-codec-cmedia. This module is automatically loaded at probing. config SND_HDA_CODEC_SI3054 bool "Build Silicon Labs 3054 HD-modem codec support" default y Loading @@ -113,6 +158,11 @@ config SND_HDA_CODEC_SI3054 Say Y here to include Silicon Labs 3054 HD-modem codec (and compatibles) support in snd-hda-intel driver. When the HD-audio driver is built as a module, the codec support code is also built as another module, snd-hda-codec-si3054. This module is automatically loaded at probing. config SND_HDA_GENERIC bool "Enable generic HD-audio codec parser" default y Loading sound/pci/hda/Makefile +57 −20 Original line number Diff line number Diff line snd-hda-intel-y := hda_intel.o # since snd-hda-intel is the only driver using hda-codec, # merge it into a single module although it was originally # designed to be individual modules snd-hda-intel-y += hda_codec.o snd-hda-intel-$(CONFIG_PROC_FS) += hda_proc.o snd-hda-intel-$(CONFIG_SND_HDA_ELD) += hda_eld.o snd-hda-intel-$(CONFIG_SND_HDA_HWDEP) += hda_hwdep.o snd-hda-intel-$(CONFIG_SND_HDA_INPUT_BEEP) += hda_beep.o snd-hda-intel-$(CONFIG_SND_HDA_GENERIC) += hda_generic.o snd-hda-intel-$(CONFIG_SND_HDA_CODEC_REALTEK) += patch_realtek.o snd-hda-intel-$(CONFIG_SND_HDA_CODEC_CMEDIA) += patch_cmedia.o snd-hda-intel-$(CONFIG_SND_HDA_CODEC_ANALOG) += patch_analog.o snd-hda-intel-$(CONFIG_SND_HDA_CODEC_SIGMATEL) += patch_sigmatel.o snd-hda-intel-$(CONFIG_SND_HDA_CODEC_SI3054) += patch_si3054.o snd-hda-intel-$(CONFIG_SND_HDA_CODEC_ATIHDMI) += patch_atihdmi.o snd-hda-intel-$(CONFIG_SND_HDA_CODEC_CONEXANT) += patch_conexant.o snd-hda-intel-$(CONFIG_SND_HDA_CODEC_VIA) += patch_via.o snd-hda-intel-$(CONFIG_SND_HDA_CODEC_NVHDMI) += patch_nvhdmi.o snd-hda-intel-$(CONFIG_SND_HDA_CODEC_INTELHDMI) += patch_intelhdmi.o snd-hda-intel-objs := hda_intel.o snd-hda-codec-y := hda_codec.o snd-hda-codec-$(CONFIG_SND_HDA_GENERIC) += hda_generic.o snd-hda-codec-$(CONFIG_PROC_FS) += hda_proc.o # snd-hda-codec-$(CONFIG_SND_HDA_ELD) += hda_eld.o snd-hda-codec-$(CONFIG_SND_HDA_HWDEP) += hda_hwdep.o snd-hda-codec-$(CONFIG_SND_HDA_INPUT_BEEP) += hda_beep.o snd-hda-codec-realtek-objs := patch_realtek.o snd-hda-codec-cmedia-objs := patch_cmedia.o snd-hda-codec-analog-objs := patch_analog.o snd-hda-codec-idt-objs := patch_sigmatel.o snd-hda-codec-si3054-objs := patch_si3054.o snd-hda-codec-atihdmi-objs := patch_atihdmi.o snd-hda-codec-conexant-objs := patch_conexant.o snd-hda-codec-via-objs := patch_via.o snd-hda-codec-nvhdmi-objs := patch_nvhdmi.o snd-hda-codec-intelhdmi-objs := patch_intelhdmi.o hda_eld.o # common driver obj-$(CONFIG_SND_HDA_INTEL) := snd-hda-codec.o # codec drivers (note: CONFIG_SND_HDA_CODEC_XXX are booleans) ifdef CONFIG_SND_HDA_CODEC_REALTEK obj-$(CONFIG_SND_HDA_INTEL) += snd-hda-codec-realtek.o endif ifdef CONFIG_SND_HDA_CODEC_CMEDIA obj-$(CONFIG_SND_HDA_INTEL) += snd-hda-codec-cmedia.o endif ifdef CONFIG_SND_HDA_CODEC_ANALOG obj-$(CONFIG_SND_HDA_INTEL) += snd-hda-codec-analog.o endif ifdef CONFIG_SND_HDA_CODEC_SIGMATEL obj-$(CONFIG_SND_HDA_INTEL) += snd-hda-codec-idt.o endif ifdef CONFIG_SND_HDA_CODEC_SI3054 obj-$(CONFIG_SND_HDA_INTEL) += snd-hda-codec-si3054.o endif ifdef CONFIG_SND_HDA_CODEC_ATIHDMI obj-$(CONFIG_SND_HDA_INTEL) += snd-hda-codec-atihdmi.o endif ifdef CONFIG_SND_HDA_CODEC_CONEXANT obj-$(CONFIG_SND_HDA_INTEL) += snd-hda-codec-conexant.o endif ifdef CONFIG_SND_HDA_CODEC_VIA obj-$(CONFIG_SND_HDA_INTEL) += snd-hda-codec-via.o endif ifdef CONFIG_SND_HDA_CODEC_NVHDMI obj-$(CONFIG_SND_HDA_INTEL) += snd-hda-codec-nvhdmi.o endif ifdef CONFIG_SND_HDA_CODEC_INTELHDMI obj-$(CONFIG_SND_HDA_INTEL) += snd-hda-codec-intelhdmi.o endif # this must be the last entry after codec drivers; # otherwise the codec patches won't be hooked before the PCI probe # when built in kernel obj-$(CONFIG_SND_HDA_INTEL) += snd-hda-intel.o sound/pci/hda/hda_beep.c +2 −0 Original line number Diff line number Diff line Loading @@ -128,6 +128,7 @@ int snd_hda_attach_beep_device(struct hda_codec *codec, int nid) INIT_WORK(&beep->beep_work, &snd_hda_generate_beep); return 0; } EXPORT_SYMBOL_HDA(snd_hda_attach_beep_device); void snd_hda_detach_beep_device(struct hda_codec *codec) { Loading @@ -140,3 +141,4 @@ void snd_hda_detach_beep_device(struct hda_codec *codec) kfree(beep); } } EXPORT_SYMBOL_HDA(snd_hda_detach_beep_device); sound/pci/hda/hda_codec.c +143 −44 File changed.Preview size limit exceeded, changes collapsed. Show changes sound/pci/hda/hda_codec.h +26 −0 Original line number Diff line number Diff line Loading @@ -640,6 +640,16 @@ struct hda_codec_preset { int (*patch)(struct hda_codec *codec); }; struct hda_codec_preset_list { const struct hda_codec_preset *preset; struct module *owner; struct list_head list; }; /* initial hook */ int snd_hda_add_codec_preset(struct hda_codec_preset_list *preset); int snd_hda_delete_codec_preset(struct hda_codec_preset_list *preset); /* ops set by the preset patch */ struct hda_codec_ops { int (*build_controls)(struct hda_codec *codec); Loading Loading @@ -733,6 +743,7 @@ struct hda_codec { /* detected preset */ const struct hda_codec_preset *preset; struct module *owner; const char *name; /* codec name */ const char *modelname; /* model name for preset */ Loading Loading @@ -896,4 +907,19 @@ static inline void snd_hda_power_down(struct hda_codec *codec) {} #define snd_hda_codec_needs_resume(codec) 1 #endif /* * Codec modularization */ /* Export symbols only for communication with codec drivers; * When built in kernel, all HD-audio drivers are supposed to be statically * linked to the kernel. Thus, the symbols don't have to (or shouldn't) be * exported unless it's built as a module. */ #ifdef MODULE #define EXPORT_SYMBOL_HDA(sym) EXPORT_SYMBOL_GPL(sym) #else #define EXPORT_SYMBOL_HDA(sym) #endif #endif /* __SOUND_HDA_CODEC_H */ Loading
sound/pci/hda/Kconfig +50 −0 Original line number Diff line number Diff line Loading @@ -46,6 +46,11 @@ config SND_HDA_CODEC_REALTEK Say Y here to include Realtek HD-audio codec support in snd-hda-intel driver, such as ALC880. When the HD-audio driver is built as a module, the codec support code is also built as another module, snd-hda-codec-realtek. This module is automatically loaded at probing. config SND_HDA_CODEC_ANALOG bool "Build Analog Device HD-audio codec support" default y Loading @@ -53,6 +58,11 @@ config SND_HDA_CODEC_ANALOG Say Y here to include Analog Device HD-audio codec support in snd-hda-intel driver, such as AD1986A. When the HD-audio driver is built as a module, the codec support code is also built as another module, snd-hda-codec-analog. This module is automatically loaded at probing. config SND_HDA_CODEC_SIGMATEL bool "Build IDT/Sigmatel HD-audio codec support" default y Loading @@ -60,6 +70,11 @@ config SND_HDA_CODEC_SIGMATEL Say Y here to include IDT (Sigmatel) HD-audio codec support in snd-hda-intel driver, such as STAC9200. When the HD-audio driver is built as a module, the codec support code is also built as another module, snd-hda-codec-idt. This module is automatically loaded at probing. config SND_HDA_CODEC_VIA bool "Build VIA HD-audio codec support" default y Loading @@ -67,6 +82,11 @@ config SND_HDA_CODEC_VIA Say Y here to include VIA HD-audio codec support in snd-hda-intel driver, such as VT1708. When the HD-audio driver is built as a module, the codec support code is also built as another module, snd-hda-codec-via. This module is automatically loaded at probing. config SND_HDA_CODEC_ATIHDMI bool "Build ATI HDMI HD-audio codec support" default y Loading @@ -74,6 +94,11 @@ config SND_HDA_CODEC_ATIHDMI Say Y here to include ATI HDMI HD-audio codec support in snd-hda-intel driver, such as ATI RS600 HDMI. When the HD-audio driver is built as a module, the codec support code is also built as another module, snd-hda-codec-atihdmi. This module is automatically loaded at probing. config SND_HDA_CODEC_NVHDMI bool "Build NVIDIA HDMI HD-audio codec support" default y Loading @@ -81,6 +106,11 @@ config SND_HDA_CODEC_NVHDMI Say Y here to include NVIDIA HDMI HD-audio codec support in snd-hda-intel driver, such as NVIDIA MCP78 HDMI. When the HD-audio driver is built as a module, the codec support code is also built as another module, snd-hda-codec-nvhdmi. This module is automatically loaded at probing. config SND_HDA_CODEC_INTELHDMI bool "Build INTEL HDMI HD-audio codec support" default y Loading @@ -88,6 +118,11 @@ config SND_HDA_CODEC_INTELHDMI Say Y here to include INTEL HDMI HD-audio codec support in snd-hda-intel driver, such as Eaglelake integrated HDMI. When the HD-audio driver is built as a module, the codec support code is also built as another module, snd-hda-codec-intelhdmi. This module is automatically loaded at probing. config SND_HDA_ELD def_bool y depends on SND_HDA_CODEC_INTELHDMI Loading @@ -99,6 +134,11 @@ config SND_HDA_CODEC_CONEXANT Say Y here to include Conexant HD-audio codec support in snd-hda-intel driver, such as CX20549. When the HD-audio driver is built as a module, the codec support code is also built as another module, snd-hda-codec-conexant. This module is automatically loaded at probing. config SND_HDA_CODEC_CMEDIA bool "Build C-Media HD-audio codec support" default y Loading @@ -106,6 +146,11 @@ config SND_HDA_CODEC_CMEDIA Say Y here to include C-Media HD-audio codec support in snd-hda-intel driver, such as CMI9880. When the HD-audio driver is built as a module, the codec support code is also built as another module, snd-hda-codec-cmedia. This module is automatically loaded at probing. config SND_HDA_CODEC_SI3054 bool "Build Silicon Labs 3054 HD-modem codec support" default y Loading @@ -113,6 +158,11 @@ config SND_HDA_CODEC_SI3054 Say Y here to include Silicon Labs 3054 HD-modem codec (and compatibles) support in snd-hda-intel driver. When the HD-audio driver is built as a module, the codec support code is also built as another module, snd-hda-codec-si3054. This module is automatically loaded at probing. config SND_HDA_GENERIC bool "Enable generic HD-audio codec parser" default y Loading
sound/pci/hda/Makefile +57 −20 Original line number Diff line number Diff line snd-hda-intel-y := hda_intel.o # since snd-hda-intel is the only driver using hda-codec, # merge it into a single module although it was originally # designed to be individual modules snd-hda-intel-y += hda_codec.o snd-hda-intel-$(CONFIG_PROC_FS) += hda_proc.o snd-hda-intel-$(CONFIG_SND_HDA_ELD) += hda_eld.o snd-hda-intel-$(CONFIG_SND_HDA_HWDEP) += hda_hwdep.o snd-hda-intel-$(CONFIG_SND_HDA_INPUT_BEEP) += hda_beep.o snd-hda-intel-$(CONFIG_SND_HDA_GENERIC) += hda_generic.o snd-hda-intel-$(CONFIG_SND_HDA_CODEC_REALTEK) += patch_realtek.o snd-hda-intel-$(CONFIG_SND_HDA_CODEC_CMEDIA) += patch_cmedia.o snd-hda-intel-$(CONFIG_SND_HDA_CODEC_ANALOG) += patch_analog.o snd-hda-intel-$(CONFIG_SND_HDA_CODEC_SIGMATEL) += patch_sigmatel.o snd-hda-intel-$(CONFIG_SND_HDA_CODEC_SI3054) += patch_si3054.o snd-hda-intel-$(CONFIG_SND_HDA_CODEC_ATIHDMI) += patch_atihdmi.o snd-hda-intel-$(CONFIG_SND_HDA_CODEC_CONEXANT) += patch_conexant.o snd-hda-intel-$(CONFIG_SND_HDA_CODEC_VIA) += patch_via.o snd-hda-intel-$(CONFIG_SND_HDA_CODEC_NVHDMI) += patch_nvhdmi.o snd-hda-intel-$(CONFIG_SND_HDA_CODEC_INTELHDMI) += patch_intelhdmi.o snd-hda-intel-objs := hda_intel.o snd-hda-codec-y := hda_codec.o snd-hda-codec-$(CONFIG_SND_HDA_GENERIC) += hda_generic.o snd-hda-codec-$(CONFIG_PROC_FS) += hda_proc.o # snd-hda-codec-$(CONFIG_SND_HDA_ELD) += hda_eld.o snd-hda-codec-$(CONFIG_SND_HDA_HWDEP) += hda_hwdep.o snd-hda-codec-$(CONFIG_SND_HDA_INPUT_BEEP) += hda_beep.o snd-hda-codec-realtek-objs := patch_realtek.o snd-hda-codec-cmedia-objs := patch_cmedia.o snd-hda-codec-analog-objs := patch_analog.o snd-hda-codec-idt-objs := patch_sigmatel.o snd-hda-codec-si3054-objs := patch_si3054.o snd-hda-codec-atihdmi-objs := patch_atihdmi.o snd-hda-codec-conexant-objs := patch_conexant.o snd-hda-codec-via-objs := patch_via.o snd-hda-codec-nvhdmi-objs := patch_nvhdmi.o snd-hda-codec-intelhdmi-objs := patch_intelhdmi.o hda_eld.o # common driver obj-$(CONFIG_SND_HDA_INTEL) := snd-hda-codec.o # codec drivers (note: CONFIG_SND_HDA_CODEC_XXX are booleans) ifdef CONFIG_SND_HDA_CODEC_REALTEK obj-$(CONFIG_SND_HDA_INTEL) += snd-hda-codec-realtek.o endif ifdef CONFIG_SND_HDA_CODEC_CMEDIA obj-$(CONFIG_SND_HDA_INTEL) += snd-hda-codec-cmedia.o endif ifdef CONFIG_SND_HDA_CODEC_ANALOG obj-$(CONFIG_SND_HDA_INTEL) += snd-hda-codec-analog.o endif ifdef CONFIG_SND_HDA_CODEC_SIGMATEL obj-$(CONFIG_SND_HDA_INTEL) += snd-hda-codec-idt.o endif ifdef CONFIG_SND_HDA_CODEC_SI3054 obj-$(CONFIG_SND_HDA_INTEL) += snd-hda-codec-si3054.o endif ifdef CONFIG_SND_HDA_CODEC_ATIHDMI obj-$(CONFIG_SND_HDA_INTEL) += snd-hda-codec-atihdmi.o endif ifdef CONFIG_SND_HDA_CODEC_CONEXANT obj-$(CONFIG_SND_HDA_INTEL) += snd-hda-codec-conexant.o endif ifdef CONFIG_SND_HDA_CODEC_VIA obj-$(CONFIG_SND_HDA_INTEL) += snd-hda-codec-via.o endif ifdef CONFIG_SND_HDA_CODEC_NVHDMI obj-$(CONFIG_SND_HDA_INTEL) += snd-hda-codec-nvhdmi.o endif ifdef CONFIG_SND_HDA_CODEC_INTELHDMI obj-$(CONFIG_SND_HDA_INTEL) += snd-hda-codec-intelhdmi.o endif # this must be the last entry after codec drivers; # otherwise the codec patches won't be hooked before the PCI probe # when built in kernel obj-$(CONFIG_SND_HDA_INTEL) += snd-hda-intel.o
sound/pci/hda/hda_beep.c +2 −0 Original line number Diff line number Diff line Loading @@ -128,6 +128,7 @@ int snd_hda_attach_beep_device(struct hda_codec *codec, int nid) INIT_WORK(&beep->beep_work, &snd_hda_generate_beep); return 0; } EXPORT_SYMBOL_HDA(snd_hda_attach_beep_device); void snd_hda_detach_beep_device(struct hda_codec *codec) { Loading @@ -140,3 +141,4 @@ void snd_hda_detach_beep_device(struct hda_codec *codec) kfree(beep); } } EXPORT_SYMBOL_HDA(snd_hda_detach_beep_device);
sound/pci/hda/hda_codec.c +143 −44 File changed.Preview size limit exceeded, changes collapsed. Show changes
sound/pci/hda/hda_codec.h +26 −0 Original line number Diff line number Diff line Loading @@ -640,6 +640,16 @@ struct hda_codec_preset { int (*patch)(struct hda_codec *codec); }; struct hda_codec_preset_list { const struct hda_codec_preset *preset; struct module *owner; struct list_head list; }; /* initial hook */ int snd_hda_add_codec_preset(struct hda_codec_preset_list *preset); int snd_hda_delete_codec_preset(struct hda_codec_preset_list *preset); /* ops set by the preset patch */ struct hda_codec_ops { int (*build_controls)(struct hda_codec *codec); Loading Loading @@ -733,6 +743,7 @@ struct hda_codec { /* detected preset */ const struct hda_codec_preset *preset; struct module *owner; const char *name; /* codec name */ const char *modelname; /* model name for preset */ Loading Loading @@ -896,4 +907,19 @@ static inline void snd_hda_power_down(struct hda_codec *codec) {} #define snd_hda_codec_needs_resume(codec) 1 #endif /* * Codec modularization */ /* Export symbols only for communication with codec drivers; * When built in kernel, all HD-audio drivers are supposed to be statically * linked to the kernel. Thus, the symbols don't have to (or shouldn't) be * exported unless it's built as a module. */ #ifdef MODULE #define EXPORT_SYMBOL_HDA(sym) EXPORT_SYMBOL_GPL(sym) #else #define EXPORT_SYMBOL_HDA(sym) #endif #endif /* __SOUND_HDA_CODEC_H */