aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--sound/pci/hda/Kconfig115
-rw-r--r--sound/pci/hda/Makefile50
-rw-r--r--sound/pci/hda/hda_codec.h13
3 files changed, 37 insertions, 141 deletions
diff --git a/sound/pci/hda/Kconfig b/sound/pci/hda/Kconfig
index 4cdd9ded4563..b0c0481c3339 100644
--- a/sound/pci/hda/Kconfig
+++ b/sound/pci/hda/Kconfig
@@ -87,126 +87,72 @@ config SND_HDA_PATCH_LOADER
87 This option turns on hwdep and reconfig features automatically. 87 This option turns on hwdep and reconfig features automatically.
88 88
89config SND_HDA_CODEC_REALTEK 89config SND_HDA_CODEC_REALTEK
90 bool "Build Realtek HD-audio codec support" 90 tristate "Build Realtek HD-audio codec support"
91 default y
92 select SND_HDA_GENERIC 91 select SND_HDA_GENERIC
93 help 92 help
94 Say Y here to include Realtek HD-audio codec support in 93 Say Y or M here to include Realtek HD-audio codec support in
95 snd-hda-intel driver, such as ALC880. 94 snd-hda-intel driver, such as ALC880.
96 95
97 When the HD-audio driver is built as a module, the codec
98 support code is also built as another module,
99 snd-hda-codec-realtek.
100 This module is automatically loaded at probing.
101
102config SND_HDA_CODEC_ANALOG 96config SND_HDA_CODEC_ANALOG
103 bool "Build Analog Device HD-audio codec support" 97 tristate "Build Analog Device HD-audio codec support"
104 default y
105 select SND_HDA_GENERIC 98 select SND_HDA_GENERIC
106 help 99 help
107 Say Y here to include Analog Device HD-audio codec support in 100 Say Y or M here to include Analog Device HD-audio codec support in
108 snd-hda-intel driver, such as AD1986A. 101 snd-hda-intel driver, such as AD1986A.
109 102
110 When the HD-audio driver is built as a module, the codec
111 support code is also built as another module,
112 snd-hda-codec-analog.
113 This module is automatically loaded at probing.
114
115config SND_HDA_CODEC_SIGMATEL 103config SND_HDA_CODEC_SIGMATEL
116 bool "Build IDT/Sigmatel HD-audio codec support" 104 tristate "Build IDT/Sigmatel HD-audio codec support"
117 default y
118 select SND_HDA_GENERIC 105 select SND_HDA_GENERIC
119 help 106 help
120 Say Y here to include IDT (Sigmatel) HD-audio codec support in 107 Say Y or M here to include IDT (Sigmatel) HD-audio codec support in
121 snd-hda-intel driver, such as STAC9200. 108 snd-hda-intel driver, such as STAC9200.
122 109
123 When the HD-audio driver is built as a module, the codec
124 support code is also built as another module,
125 snd-hda-codec-idt.
126 This module is automatically loaded at probing.
127
128config SND_HDA_CODEC_VIA 110config SND_HDA_CODEC_VIA
129 bool "Build VIA HD-audio codec support" 111 tristate "Build VIA HD-audio codec support"
130 default y
131 select SND_HDA_GENERIC 112 select SND_HDA_GENERIC
132 help 113 help
133 Say Y here to include VIA HD-audio codec support in 114 Say Y or M here to include VIA HD-audio codec support in
134 snd-hda-intel driver, such as VT1708. 115 snd-hda-intel driver, such as VT1708.
135 116
136 When the HD-audio driver is built as a module, the codec
137 support code is also built as another module,
138 snd-hda-codec-via.
139 This module is automatically loaded at probing.
140
141config SND_HDA_CODEC_HDMI 117config SND_HDA_CODEC_HDMI
142 bool "Build HDMI/DisplayPort HD-audio codec support" 118 tristate "Build HDMI/DisplayPort HD-audio codec support"
143 default y
144 help 119 help
145 Say Y here to include HDMI and DisplayPort HD-audio codec 120 Say Y or M here to include HDMI and DisplayPort HD-audio codec
146 support in snd-hda-intel driver. This includes all AMD/ATI, 121 support in snd-hda-intel driver. This includes all AMD/ATI,
147 Intel and Nvidia HDMI/DisplayPort codecs. 122 Intel and Nvidia HDMI/DisplayPort codecs.
148 123
149 When the HD-audio driver is built as a module, the codec
150 support code is also built as another module,
151 snd-hda-codec-hdmi.
152 This module is automatically loaded at probing.
153
154config SND_HDA_I915 124config SND_HDA_I915
155 bool 125 bool
156 default y 126 default y
157 depends on DRM_I915 127 depends on DRM_I915
158 128
159config SND_HDA_CODEC_CIRRUS 129config SND_HDA_CODEC_CIRRUS
160 bool "Build Cirrus Logic codec support" 130 tristate "Build Cirrus Logic codec support"
161 default y
162 select SND_HDA_GENERIC 131 select SND_HDA_GENERIC
163 help 132 help
164 Say Y here to include Cirrus Logic codec support in 133 Say Y or M here to include Cirrus Logic codec support in
165 snd-hda-intel driver, such as CS4206. 134 snd-hda-intel driver, such as CS4206.
166 135
167 When the HD-audio driver is built as a module, the codec
168 support code is also built as another module,
169 snd-hda-codec-cirrus.
170 This module is automatically loaded at probing.
171
172config SND_HDA_CODEC_CONEXANT 136config SND_HDA_CODEC_CONEXANT
173 bool "Build Conexant HD-audio codec support" 137 tristate "Build Conexant HD-audio codec support"
174 default y
175 select SND_HDA_GENERIC 138 select SND_HDA_GENERIC
176 help 139 help
177 Say Y here to include Conexant HD-audio codec support in 140 Say Y or M here to include Conexant HD-audio codec support in
178 snd-hda-intel driver, such as CX20549. 141 snd-hda-intel driver, such as CX20549.
179 142
180 When the HD-audio driver is built as a module, the codec
181 support code is also built as another module,
182 snd-hda-codec-conexant.
183 This module is automatically loaded at probing.
184
185config SND_HDA_CODEC_CA0110 143config SND_HDA_CODEC_CA0110
186 bool "Build Creative CA0110-IBG codec support" 144 tristate "Build Creative CA0110-IBG codec support"
187 default y
188 select SND_HDA_GENERIC 145 select SND_HDA_GENERIC
189 help 146 help
190 Say Y here to include Creative CA0110-IBG codec support in 147 Say Y or M here to include Creative CA0110-IBG codec support in
191 snd-hda-intel driver, found on some Creative X-Fi cards. 148 snd-hda-intel driver, found on some Creative X-Fi cards.
192 149
193 When the HD-audio driver is built as a module, the codec
194 support code is also built as another module,
195 snd-hda-codec-ca0110.
196 This module is automatically loaded at probing.
197
198config SND_HDA_CODEC_CA0132 150config SND_HDA_CODEC_CA0132
199 bool "Build Creative CA0132 codec support" 151 tristate "Build Creative CA0132 codec support"
200 default y
201 help 152 help
202 Say Y here to include Creative CA0132 codec support in 153 Say Y or M here to include Creative CA0132 codec support in
203 snd-hda-intel driver. 154 snd-hda-intel driver.
204 155
205 When the HD-audio driver is built as a module, the codec
206 support code is also built as another module,
207 snd-hda-codec-ca0132.
208 This module is automatically loaded at probing.
209
210config SND_HDA_CODEC_CA0132_DSP 156config SND_HDA_CODEC_CA0132_DSP
211 bool "Support new DSP code for CA0132 codec" 157 bool "Support new DSP code for CA0132 codec"
212 depends on SND_HDA_CODEC_CA0132 158 depends on SND_HDA_CODEC_CA0132
@@ -220,35 +166,22 @@ config SND_HDA_CODEC_CA0132_DSP
220 (ctefx.bin). 166 (ctefx.bin).
221 167
222config SND_HDA_CODEC_CMEDIA 168config SND_HDA_CODEC_CMEDIA
223 bool "Build C-Media HD-audio codec support" 169 tristate "Build C-Media HD-audio codec support"
224 default y
225 select SND_HDA_GENERIC 170 select SND_HDA_GENERIC
226 help 171 help
227 Say Y here to include C-Media HD-audio codec support in 172 Say Y or M here to include C-Media HD-audio codec support in
228 snd-hda-intel driver, such as CMI9880. 173 snd-hda-intel driver, such as CMI9880.
229 174
230 When the HD-audio driver is built as a module, the codec
231 support code is also built as another module,
232 snd-hda-codec-cmedia.
233 This module is automatically loaded at probing.
234
235config SND_HDA_CODEC_SI3054 175config SND_HDA_CODEC_SI3054
236 bool "Build Silicon Labs 3054 HD-modem codec support" 176 tristate "Build Silicon Labs 3054 HD-modem codec support"
237 default y
238 help 177 help
239 Say Y here to include Silicon Labs 3054 HD-modem codec 178 Say Y or M here to include Silicon Labs 3054 HD-modem codec
240 (and compatibles) support in snd-hda-intel driver. 179 (and compatibles) support in snd-hda-intel driver.
241 180
242 When the HD-audio driver is built as a module, the codec
243 support code is also built as another module,
244 snd-hda-codec-si3054.
245 This module is automatically loaded at probing.
246
247config SND_HDA_GENERIC 181config SND_HDA_GENERIC
248 bool "Enable generic HD-audio codec parser" 182 tristate "Enable generic HD-audio codec parser"
249 default y
250 help 183 help
251 Say Y here to enable the generic HD-audio codec parser 184 Say Y or M here to enable the generic HD-audio codec parser
252 in snd-hda-intel driver. 185 in snd-hda-intel driver.
253 186
254config SND_HDA_POWER_SAVE_DEFAULT 187config SND_HDA_POWER_SAVE_DEFAULT
diff --git a/sound/pci/hda/Makefile b/sound/pci/hda/Makefile
index 5a40c652df41..1fcb118e480a 100644
--- a/sound/pci/hda/Makefile
+++ b/sound/pci/hda/Makefile
@@ -27,43 +27,19 @@ snd-hda-codec-hdmi-objs := patch_hdmi.o hda_eld.o
27# common driver 27# common driver
28obj-$(CONFIG_SND_HDA_INTEL) := snd-hda-codec.o 28obj-$(CONFIG_SND_HDA_INTEL) := snd-hda-codec.o
29 29
30# codec drivers (note: CONFIG_SND_HDA_CODEC_XXX are booleans) 30# codec drivers
31ifdef CONFIG_SND_HDA_GENERIC 31obj-$(CONFIG_SND_HDA_GENERIC) += snd-hda-codec-generic.o
32obj-$(CONFIG_SND_HDA_INTEL) += snd-hda-codec-generic.o 32obj-$(CONFIG_SND_HDA_CODEC_REALTEK) += snd-hda-codec-realtek.o
33endif 33obj-$(CONFIG_SND_HDA_CODEC_CMEDIA) += snd-hda-codec-cmedia.o
34ifdef CONFIG_SND_HDA_CODEC_REALTEK 34obj-$(CONFIG_SND_HDA_CODEC_ANALOG) += snd-hda-codec-analog.o
35obj-$(CONFIG_SND_HDA_INTEL) += snd-hda-codec-realtek.o 35obj-$(CONFIG_SND_HDA_CODEC_SIGMATEL) += snd-hda-codec-idt.o
36endif 36obj-$(CONFIG_SND_HDA_CODEC_SI3054) += snd-hda-codec-si3054.o
37ifdef CONFIG_SND_HDA_CODEC_CMEDIA 37obj-$(CONFIG_SND_HDA_CODEC_CIRRUS) += snd-hda-codec-cirrus.o
38obj-$(CONFIG_SND_HDA_INTEL) += snd-hda-codec-cmedia.o 38obj-$(CONFIG_SND_HDA_CODEC_CA0110) += snd-hda-codec-ca0110.o
39endif 39obj-$(CONFIG_SND_HDA_CODEC_CA0132) += snd-hda-codec-ca0132.o
40ifdef CONFIG_SND_HDA_CODEC_ANALOG 40obj-$(CONFIG_SND_HDA_CODEC_CONEXANT) += snd-hda-codec-conexant.o
41obj-$(CONFIG_SND_HDA_INTEL) += snd-hda-codec-analog.o 41obj-$(CONFIG_SND_HDA_CODEC_VIA) += snd-hda-codec-via.o
42endif 42obj-$(CONFIG_SND_HDA_CODEC_HDMI) += snd-hda-codec-hdmi.o
43ifdef CONFIG_SND_HDA_CODEC_SIGMATEL
44obj-$(CONFIG_SND_HDA_INTEL) += snd-hda-codec-idt.o
45endif
46ifdef CONFIG_SND_HDA_CODEC_SI3054
47obj-$(CONFIG_SND_HDA_INTEL) += snd-hda-codec-si3054.o
48endif
49ifdef CONFIG_SND_HDA_CODEC_CIRRUS
50obj-$(CONFIG_SND_HDA_INTEL) += snd-hda-codec-cirrus.o
51endif
52ifdef CONFIG_SND_HDA_CODEC_CA0110
53obj-$(CONFIG_SND_HDA_INTEL) += snd-hda-codec-ca0110.o
54endif
55ifdef CONFIG_SND_HDA_CODEC_CA0132
56obj-$(CONFIG_SND_HDA_INTEL) += snd-hda-codec-ca0132.o
57endif
58ifdef CONFIG_SND_HDA_CODEC_CONEXANT
59obj-$(CONFIG_SND_HDA_INTEL) += snd-hda-codec-conexant.o
60endif
61ifdef CONFIG_SND_HDA_CODEC_VIA
62obj-$(CONFIG_SND_HDA_INTEL) += snd-hda-codec-via.o
63endif
64ifdef CONFIG_SND_HDA_CODEC_HDMI
65obj-$(CONFIG_SND_HDA_INTEL) += snd-hda-codec-hdmi.o
66endif
67 43
68# this must be the last entry after codec drivers; 44# this must be the last entry after codec drivers;
69# otherwise the codec patches won't be hooked before the PCI probe 45# otherwise the codec patches won't be hooked before the PCI probe
diff --git a/sound/pci/hda/hda_codec.h b/sound/pci/hda/hda_codec.h
index 3c484c27048b..2b5d19e48a27 100644
--- a/sound/pci/hda/hda_codec.h
+++ b/sound/pci/hda/hda_codec.h
@@ -681,19 +681,6 @@ snd_hda_codec_load_dsp_cleanup(struct hda_codec *codec,
681 struct snd_dma_buffer *dmab) {} 681 struct snd_dma_buffer *dmab) {}
682#endif 682#endif
683 683
684/*
685 * Codec modularization
686 */
687
688/* Export symbols only for communication with codec drivers;
689 * When built in kernel, all HD-audio drivers are supposed to be statically
690 * linked to the kernel. Thus, the symbols don't have to (or shouldn't) be
691 * exported unless it's built as a module.
692 */
693#ifdef MODULE
694#define EXPORT_SYMBOL_HDA(sym) EXPORT_SYMBOL_GPL(sym) 684#define EXPORT_SYMBOL_HDA(sym) EXPORT_SYMBOL_GPL(sym)
695#else
696#define EXPORT_SYMBOL_HDA(sym)
697#endif
698 685
699#endif /* __SOUND_HDA_CODEC_H */ 686#endif /* __SOUND_HDA_CODEC_H */