kernel: fix autoloading arch-specific modules
[lede.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))