kernel: fix autoloading arch-specific modules
[openwrt/staging/dedeckeh.git] / package / kernel / linux / modules / sound.mk
1 #
2 # Copyright (C) 2006-2013 OpenWrt.org
3 #
4 # This is free software, licensed under the GNU General Public License v2.
5 # See /LICENSE for more information.
6 #
7
8 SOUND_MENU:=Sound Support
9
10 # allow targets to override the soundcore stuff
11 SOUNDCORE_LOAD ?= \
12 soundcore \
13 snd \
14 snd-hwdep \
15 snd-seq-device \
16 snd-rawmidi \
17 snd-timer \
18 snd-pcm \
19 snd-mixer-oss \
20 snd-pcm-oss \
21 snd-compress
22
23 SOUNDCORE_FILES ?= \
24 $(LINUX_DIR)/sound/soundcore.ko \
25 $(LINUX_DIR)/sound/core/snd.ko \
26 $(LINUX_DIR)/sound/core/snd-hwdep.ko \
27 $(LINUX_DIR)/sound/core/seq/snd-seq-device.ko \
28 $(LINUX_DIR)/sound/core/snd-rawmidi.ko \
29 $(LINUX_DIR)/sound/core/snd-timer.ko \
30 $(LINUX_DIR)/sound/core/snd-pcm.ko \
31 $(LINUX_DIR)/sound/core/oss/snd-mixer-oss.ko \
32 $(LINUX_DIR)/sound/core/oss/snd-pcm-oss.ko \
33 $(LINUX_DIR)/sound/core/snd-compress.ko
34
35 SOUNDCORE_LOAD += \
36 $(if $(CONFIG_SND_DMAENGINE_PCM),snd-pcm-dmaengine)
37
38 SOUNDCORE_FILES += \
39 $(if $(CONFIG_SND_DMAENGINE_PCM),$(LINUX_DIR)/sound/core/snd-pcm-dmaengine.ko)
40
41 define KernelPackage/sound-core
42 SUBMENU:=$(SOUND_MENU)
43 TITLE:=Sound support
44 DEPENDS:=@AUDIO_SUPPORT +kmod-input-core
45 KCONFIG:= \
46 CONFIG_SOUND \
47 CONFIG_SND \
48 CONFIG_SND_HWDEP \
49 CONFIG_SND_RAWMIDI \
50 CONFIG_SND_TIMER \
51 CONFIG_SND_PCM \
52 CONFIG_SND_PCM_TIMER=y \
53 CONFIG_SND_SEQUENCER \
54 CONFIG_SND_VIRMIDI \
55 CONFIG_SND_SEQ_DUMMY \
56 CONFIG_SND_SEQUENCER_OSS=y \
57 CONFIG_HOSTAUDIO \
58 CONFIG_SND_PCM_OSS \
59 CONFIG_SND_MIXER_OSS \
60 CONFIG_SOUND_OSS_CORE_PRECLAIM=y \
61 CONFIG_SND_COMPRESS_OFFLOAD
62 FILES:=$(SOUNDCORE_FILES)
63 AUTOLOAD:=$(call AutoLoad,30,$(SOUNDCORE_LOAD))
64 endef
65
66 define KernelPackage/sound-core/uml
67 FILES:= \
68 $(LINUX_DIR)/sound/soundcore.ko \
69 $(LINUX_DIR)/arch/um/drivers/hostaudio.ko
70 AUTOLOAD+=$(call AutoLoad,30,soundcore hostaudio)
71 endef
72
73 define KernelPackage/sound-core/description
74 Kernel modules for sound support
75 endef
76
77 $(eval $(call KernelPackage,sound-core))
78
79
80 define AddDepends/sound
81 SUBMENU:=$(SOUND_MENU)
82 DEPENDS+=kmod-sound-core $(1) @!TARGET_uml
83 endef
84
85
86 define KernelPackage/ac97
87 TITLE:=ac97 controller
88 KCONFIG:=CONFIG_SND_AC97_CODEC
89 FILES:= \
90 $(LINUX_DIR)/sound/ac97_bus.ko \
91 $(LINUX_DIR)/sound/pci/ac97/snd-ac97-codec.ko
92 AUTOLOAD:=$(call AutoLoad,35,ac97_bus snd-ac97-codec)
93 $(call AddDepends/sound)
94 endef
95
96 define KernelPackage/ac97/description
97 The ac97 controller
98 endef
99
100 $(eval $(call KernelPackage,ac97))
101
102
103 define KernelPackage/sound-mpu401
104 TITLE:=MPU-401 uart driver
105 KCONFIG:=CONFIG_SND_MPU401_UART
106 FILES:= \
107 $(LINUX_DIR)/sound/drivers/mpu401/snd-mpu401-uart.ko
108 AUTOLOAD:=$(call AutoLoad,35,snd-mpu401-uart)
109 $(call AddDepends/sound)
110 endef
111
112 define KernelPackage/sound-mpu401/description
113 support for MIDI ports compatible with the Roland MPU-401
114 interface in UART mode.
115 endef
116
117 $(eval $(call KernelPackage,sound-mpu401))
118
119
120 define KernelPackage/sound-seq
121 TITLE:=Sequencer support
122 FILES:= \
123 $(LINUX_DIR)/sound/core/seq/snd-seq.ko \
124 $(LINUX_DIR)/sound/core/seq/snd-seq-midi-event.ko \
125 $(LINUX_DIR)/sound/core/seq/snd-seq-midi.ko
126 AUTOLOAD:=$(call AutoLoad,35,snd-seq snd-seq-midi-event snd-seq-midi)
127 $(call AddDepends/sound)
128 endef
129
130 define KernelPackage/sound-seq/description
131 Kernel modules for sequencer support
132 endef
133
134 $(eval $(call KernelPackage,sound-seq))
135
136
137 define KernelPackage/sound-i8x0
138 TITLE:=Intel/SiS/nVidia/AMD/ALi AC97 Controller
139 DEPENDS:=+kmod-ac97
140 KCONFIG:=CONFIG_SND_INTEL8X0
141 FILES:=$(LINUX_DIR)/sound/pci/snd-intel8x0.ko
142 AUTOLOAD:=$(call AutoLoad,36,snd-intel8x0)
143 $(call AddDepends/sound)
144 endef
145
146 define KernelPackage/sound-i8x0/description
147 support for the integrated AC97 sound device on motherboards
148 with Intel/SiS/nVidia/AMD chipsets, or ALi chipsets using
149 the M5455 Audio Controller.
150 endef
151
152 $(eval $(call KernelPackage,sound-i8x0))
153
154
155 define KernelPackage/sound-via82xx
156 TITLE:=VIA 82xx AC97 Controller
157 DEPENDS:=+kmod-ac97 +kmod-sound-mpu401
158 KCONFIG:=CONFIG_SND_VIA82XX
159 FILES:=$(LINUX_DIR)/sound/pci/snd-via82xx.ko
160 AUTOLOAD:=$(call AutoLoad,36,snd-via82xx)
161 $(call AddDepends/sound)
162 endef
163
164 define KernelPackage/sound-via82xx/description
165 support for the integrated AC97 sound device on motherboards
166 with VIA chipsets.
167 endef
168
169 $(eval $(call KernelPackage,sound-via82xx))
170
171
172 define KernelPackage/sound-soc-core
173 TITLE:=SoC sound support
174 DEPENDS:=+kmod-regmap +kmod-ac97
175 KCONFIG:= \
176 CONFIG_SND_SOC \
177 CONFIG_SND_SOC_DMAENGINE_PCM=y \
178 CONFIG_SND_SOC_ALL_CODECS=n
179 FILES:=$(LINUX_DIR)/sound/soc/snd-soc-core.ko
180 AUTOLOAD:=$(call AutoLoad,55, snd-soc-core)
181 $(call AddDepends/sound)
182 endef
183
184 $(eval $(call KernelPackage,sound-soc-core))
185
186
187 define KernelPackage/sound-soc-ac97
188 TITLE:=AC97 Codec support
189 KCONFIG:=CONFIG_SND_SOC_AC97_CODEC
190 FILES:=$(LINUX_DIR)/sound/soc/codecs/snd-soc-ac97.ko
191 AUTOLOAD:=$(call AutoLoad,57,snd-soc-ac97)
192 DEPENDS:=+kmod-ac97 +kmod-sound-soc-core
193 $(call AddDepends/sound)
194 endef
195
196 $(eval $(call KernelPackage,sound-soc-ac97))
197
198
199 define KernelPackage/sound-soc-imx
200 TITLE:=IMX SoC support
201 KCONFIG:=\
202 CONFIG_SND_IMX_SOC \
203 CONFIG_SND_SOC_IMX_AUDMUX \
204 CONFIG_SND_SOC_FSL_SSI \
205 CONFIG_SND_SOC_IMX_PCM_DMA
206 FILES:= \
207 $(LINUX_DIR)/sound/soc/fsl/snd-soc-imx-audmux.ko \
208 $(LINUX_DIR)/sound/soc/fsl/snd-soc-fsl-ssi.ko \
209 $(LINUX_DIR)/sound/soc/fsl/imx-pcm-dma.ko
210 AUTOLOAD:=$(call AutoLoad,56,snd-soc-imx-audmux snd-soc-fsl-ssi snd-soc-imx-pcm)
211 DEPENDS:=@TARGET_imx6 +kmod-sound-soc-core
212 $(call AddDepends/sound)
213 endef
214
215 define KernelPackage/sound-soc-imx/description
216 Support for i.MX6 Platform sound (ssi/audmux/pcm)
217 endef
218
219 $(eval $(call KernelPackage,sound-soc-imx))
220
221
222 define KernelPackage/sound-soc-imx-sgtl5000
223 TITLE:=IMX SoC support for SGTL5000
224 KCONFIG:=CONFIG_SND_SOC_IMX_SGTL5000
225 FILES:=\
226 $(LINUX_DIR)/sound/soc/codecs/snd-soc-sgtl5000.ko \
227 $(LINUX_DIR)/sound/soc/fsl/snd-soc-imx-sgtl5000.ko
228 AUTOLOAD:=$(call AutoLoad,57,snd-soc-sgtl5000 snd-soc-imx-sgtl5000)
229 DEPENDS:=@TARGET_imx6 +kmod-sound-soc-imx
230 $(call AddDepends/sound)
231 endef
232
233 define KernelPackage/sound-soc-imx-sgtl5000/description
234 Support for i.MX6 Platform sound SGTL5000 codec
235 endef
236
237 $(eval $(call KernelPackage,sound-soc-imx-sgtl5000))
238
239
240 define KernelPackage/sound-soc-gw_avila
241 TITLE:=Gateworks Avila SoC sound support
242 KCONFIG:= \
243 CONFIG_SND_GW_AVILA_SOC \
244 CONFIG_SND_GW_AVILA_SOC_PCM \
245 CONFIG_SND_GW_AVILA_SOC_HSS
246 FILES:= \
247 $(LINUX_DIR)/sound/soc/codecs/snd-soc-tlv320aic3x.ko \
248 $(LINUX_DIR)/sound/soc/gw-avila/snd-soc-gw-avila.ko \
249 $(LINUX_DIR)/sound/soc/gw-avila/snd-soc-gw-avila-pcm.ko \
250 $(LINUX_DIR)/sound/soc/gw-avila/snd-soc-gw-avila-hss.ko
251 AUTOLOAD:=$(call AutoLoad,65,snd-soc-tlv320aic3x snd-soc-gw-avila snd-soc-gw-avila-pcm snd-soc-gw-avila-hss)
252 DEPENDS:=@TARGET_ixp4xx +kmod-sound-soc-core
253 $(call AddDepends/sound)
254 endef
255
256 $(eval $(call KernelPackage,sound-soc-gw_avila))
257
258
259 define KernelPackage/pcspkr
260 DEPENDS:=@TARGET_x86 +kmod-input-core
261 TITLE:=PC speaker support
262 KCONFIG:= \
263 CONFIG_SND_PCSP
264 FILES:= \
265 $(LINUX_DIR)/sound/drivers/pcsp/snd-pcsp.ko
266 AUTOLOAD:=$(call AutoLoad,50,snd-pcsp)
267 $(call AddDepends/sound)
268 endef
269
270 define KernelPackage/pcspkr/description
271 This enables sounds (tones) through the pc speaker
272 endef
273
274 $(eval $(call KernelPackage,pcspkr))
275
276 define KernelPackage/sound-dummy
277 $(call AddDepends/sound)
278 TITLE:=Null sound output driver (sink)
279 KCONFIG:= \
280 CONFIG_SND_DUMMY
281 FILES:= \
282 $(LINUX_DIR)/sound/drivers/snd-dummy.ko
283 AUTOLOAD:=$(call AutoLoad,32,snd-dummy)
284 endef
285
286 define KernelPackage/sound_dummy/description
287 Dummy sound device for Alsa when no hardware present
288 endef
289
290 $(eval $(call KernelPackage,sound-dummy))
291
292 define KernelPackage/sound-hda-core
293 SUBMENU:=$(SOUND_MENU)
294 TITLE:=HD Audio Sound Core Support
295 KCONFIG:= \
296 CONFIG_SND_HDA_CORE@ge4.1 \
297 CONFIG_SND_HDA_HWDEP=y \
298 CONFIG_SND_HDA_RECONFIG=n \
299 CONFIG_SND_HDA_INPUT_BEEP=n \
300 CONFIG_SND_HDA_PATCH_LOADER=n \
301 CONFIG_SND_HDA_GENERIC
302 FILES:= \
303 $(LINUX_DIR)/sound/hda/snd-hda-core.ko@ge4.1 \
304 $(LINUX_DIR)/sound/pci/hda/snd-hda-codec.ko \
305 $(LINUX_DIR)/sound/pci/hda/snd-hda-codec-generic.ko
306 AUTOLOAD:=$(call AutoProbe,snd-hda-core@ge4.1 snd-hda-codec snd-hda-codec-generic)
307 $(call AddDepends/sound,+kmod-regmap)
308 endef
309
310 define KernelPackage/sound-hda-core/description
311 Kernel modules for HD Audio sound support
312 endef
313
314 $(eval $(call KernelPackage,sound-hda-core))
315
316 define KernelPackage/sound-hda-codec-realtek
317 SUBMENU:=$(SOUND_MENU)
318 TITLE:= HD Audio Realtek Codec
319 KCONFIG:= \
320 CONFIG_SND_HDA_CODEC_REALTEK
321 FILES:= \
322 $(LINUX_DIR)/sound/pci/hda/snd-hda-codec-realtek.ko
323 AUTOLOAD:=$(call AutoProbe,snd-hda-codec-realtek)
324 $(call AddDepends/sound,kmod-sound-hda-core)
325 endef
326
327 define KernelPackage/sound-hda-codec-realtek/description
328 Kernel modules for Intel HDA Realtek codec support
329 endef
330
331 $(eval $(call KernelPackage,sound-hda-codec-realtek))
332
333 define KernelPackage/sound-hda-codec-cmedia
334 SUBMENU:=$(SOUND_MENU)
335 TITLE:=HD Audio C-Media Codec
336 KCONFIG:= \
337 CONFIG_SND_HDA_CODEC_CMEDIA
338 FILES:= \
339 $(LINUX_DIR)/sound/pci/hda/snd-hda-codec-cmedia.ko
340 AUTOLOAD:=$(call AutoProbe,snd-hda-codec-cmedia)
341 $(call AddDepends/sound,kmod-sound-hda-core)
342 endef
343
344 define KernelPackage/sound-hda-codec-cmedia/description
345 Kernel modules for HD Audio C-Media codec support
346 endef
347
348 $(eval $(call KernelPackage,sound-hda-codec-cmedia))
349
350 define KernelPackage/sound-hda-codec-analog
351 SUBMENU:=$(SOUND_MENU)
352 TITLE:=HD Audio Analog Devices Codec
353 KCONFIG:= \
354 CONFIG_SND_HDA_CODEC_ANALOG
355 FILES:= \
356 $(LINUX_DIR)/sound/pci/hda/snd-hda-codec-analog.ko
357 AUTOLOAD:=$(call AutoProbe,snd-hda-codec-analog)
358 $(call AddDepends/sound,kmod-sound-hda-core)
359 endef
360
361 define KernelPackage/sound-hda-codec-analog/description
362 Kernel modules for HD Audio Analog Devices codec support
363 endef
364
365 $(eval $(call KernelPackage,sound-hda-codec-analog))
366
367 define KernelPackage/sound-hda-codec-idt
368 SUBMENU:=$(SOUND_MENU)
369 TITLE:=HD Audio Sigmatel IDT Codec
370 KCONFIG:= \
371 CONFIG_SND_HDA_CODEC_SIGMATEL
372 FILES:= \
373 $(LINUX_DIR)/sound/pci/hda/snd-hda-codec-idt.ko
374 AUTOLOAD:=$(call AutoProbe,snd-hda-codec-idt)
375 $(call AddDepends/sound,kmod-sound-hda-core)
376 endef
377
378 define KernelPackage/sound-hda-codec-idt/description
379 Kernel modules for HD Audio Sigmatel IDT codec support
380 endef
381
382 $(eval $(call KernelPackage,sound-hda-codec-idt))
383
384 define KernelPackage/sound-hda-codec-si3054
385 SUBMENU:=$(SOUND_MENU)
386 TITLE:=HD Audio Silicon Labs 3054 Codec
387 KCONFIG:= \
388 CONFIG_SND_HDA_CODEC_SI3054
389 FILES:= \
390 $(LINUX_DIR)/sound/pci/hda/snd-hda-codec-si3054.ko
391 AUTOLOAD:=$(call AutoProbe,snd-hda-codec-si3054)
392 $(call AddDepends/sound,kmod-sound-hda-core)
393 endef
394
395 define KernelPackage/sound-hda-codec-si3054/description
396 Kernel modules for HD Audio Silicon Labs 3054 codec support
397 endef
398
399 $(eval $(call KernelPackage,sound-hda-codec-si3054))
400
401 define KernelPackage/sound-hda-codec-cirrus
402 SUBMENU:=$(SOUND_MENU)
403 TITLE:=HD Audio Cirrus Logic Codec
404 KCONFIG:= \
405 CONFIG_SND_HDA_CODEC_CIRRUS
406 FILES:= \
407 $(LINUX_DIR)/sound/pci/hda/snd-hda-codec-cirrus.ko
408 AUTOLOAD:=$(call AutoProbe,snd-hda-codec-cirrus)
409 $(call AddDepends/sound,kmod-sound-hda-core)
410 endef
411
412 define KernelPackage/sound-hda-codec-cirrus/description
413 Kernel modules for HD Audio Cirrus Logic codec support
414 endef
415
416 $(eval $(call KernelPackage,sound-hda-codec-cirrus))
417
418 define KernelPackage/sound-hda-codec-ca0110
419 SUBMENU:=$(SOUND_MENU)
420 TITLE:=HD Audio Creative CA0110 Codec
421 KCONFIG:= \
422 CONFIG_SND_HDA_CODEC_CA0110
423 FILES:= \
424 $(LINUX_DIR)/sound/pci/hda/snd-hda-codec-ca0110.ko
425 AUTOLOAD:=$(call AutoProbe,snd-hda-codec-ca0110)
426 $(call AddDepends/sound,kmod-sound-hda-core)
427 endef
428
429 define KernelPackage/sound-hda-codec-ca0110/description
430 Kernel modules for HD Audio Creative CA0110 codec support
431 endef
432
433 $(eval $(call KernelPackage,sound-hda-codec-ca0110))
434
435 define KernelPackage/sound-hda-codec-ca0132
436 SUBMENU:=$(SOUND_MENU)
437 TITLE:=HD Audio Creative CA0132 Codec
438 KCONFIG:= \
439 CONFIG_SND_HDA_CODEC_CA0132 \
440 CONFIG_SND_HDA_CODEC_CA0132_DSP=n
441 FILES:= \
442 $(LINUX_DIR)/sound/pci/hda/snd-hda-codec-ca0132.ko
443 AUTOLOAD:=$(call AutoProbe,snd-hda-codec-ca0132)
444 $(call AddDepends/sound,kmod-sound-hda-core)
445 endef
446
447 define KernelPackage/sound-hda-codec-ca0132/description
448 Kernel modules for HD Audio Creative CA0132 codec support
449 endef
450
451 $(eval $(call KernelPackage,sound-hda-codec-ca0132))
452
453 define KernelPackage/sound-hda-codec-conexant
454 SUBMENU:=$(SOUND_MENU)
455 TITLE:=HD Audio Conexant Codec
456 KCONFIG:= \
457 CONFIG_SND_HDA_CODEC_CONEXANT
458 FILES:= \
459 $(LINUX_DIR)/sound/pci/hda/snd-hda-codec-conexant.ko
460 AUTOLOAD:=$(call AutoProbe,snd-hda-codec-conexant)
461 $(call AddDepends/sound,kmod-sound-hda-core)
462 endef
463
464 define KernelPackage/sound-hda-codec-conexant/description
465 Kernel modules for HD Audio Conexant codec support
466 endef
467
468 $(eval $(call KernelPackage,sound-hda-codec-conexant))
469
470 define KernelPackage/sound-hda-codec-via
471 SUBMENU:=$(SOUND_MENU)
472 TITLE:=HD Audio Via Codec
473 KCONFIG:= \
474 CONFIG_SND_HDA_CODEC_VIA
475 FILES:= \
476 $(LINUX_DIR)/sound/pci/hda/snd-hda-codec-via.ko
477 AUTOLOAD:=$(call AutoProbe,snd-hda-codec-via)
478 $(call AddDepends/sound,kmod-sound-hda-core)
479 endef
480
481 define KernelPackage/sound-hda-codec-via/description
482 Kernel modules for HD Audio VIA codec support
483 endef
484
485 $(eval $(call KernelPackage,sound-hda-codec-via))
486
487 define KernelPackage/sound-hda-codec-hdmi
488 SUBMENU:=$(SOUND_MENU)
489 TITLE:=HD Audio HDMI/DisplayPort Codec
490 KCONFIG:= \
491 CONFIG_SND_HDA_CODEC_HDMI
492 FILES:= \
493 $(LINUX_DIR)/sound/pci/hda/snd-hda-codec-hdmi.ko
494 AUTOLOAD:=$(call AutoProbe,snd-hda-codec-hdmi)
495 $(call AddDepends/sound,kmod-sound-hda-core)
496 endef
497
498 define KernelPackage/sound-hda-codec-hdmi/description
499 Kernel modules for HD Audio HDMI codec support
500 endef
501
502 $(eval $(call KernelPackage,sound-hda-codec-hdmi))
503
504 define KernelPackage/sound-hda-intel
505 SUBMENU:=$(SOUND_MENU)
506 TITLE:=HD Audio Intel Driver
507 KCONFIG:= \
508 CONFIG_SOUND_PCI \
509 CONFIG_SND_HDA_INTEL
510 FILES:= \
511 $(LINUX_DIR)/sound/pci/hda/snd-hda-intel.ko \
512 $(LINUX_DIR)/sound/pci/hda/snd-hda-controller.ko@lt4.4
513 AUTOLOAD:=$(call AutoProbe,snd-hda-controller@lt4.4 snd-hda-intel)
514 $(call AddDepends/sound,kmod-sound-hda-core)
515 endef
516
517 define KernelPackage/sound-hda-intel/description
518 Kernel modules for HD Audio Intel driver support
519 endef
520
521 $(eval $(call KernelPackage,sound-hda-intel))