kernel: load after its dependencies
[openwrt-10.03/.git] / package / kernel / modules / sound.mk
1 #
2 # Copyright (C) 2006-2008 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 define KernelPackage/sound-core
11   SUBMENU:=$(SOUND_MENU)
12   TITLE:=Sound support
13   DEPENDS:=@AUDIO_SUPPORT
14   KCONFIG:= \
15         CONFIG_SOUND \
16         CONFIG_SND \
17         CONFIG_SND_HWDEP \
18         CONFIG_SND_RAWMIDI \
19         CONFIG_SND_TIMER \
20         CONFIG_SND_PCM \
21         CONFIG_SND_SEQUENCER \
22         CONFIG_SND_VIRMIDI \
23         CONFIG_SND_SEQ_DUMMY \
24         CONFIG_SND_SEQUENCER_OSS=y \
25         CONFIG_HOSTAUDIO \
26         CONFIG_SND_PCM_OSS \
27         CONFIG_SND_MIXER_OSS \
28         CONFIG_SOUND_OSS_CORE_PRECLAIM=y
29 endef
30
31 define KernelPackage/sound-core/2.4
32   FILES:=$(LINUX_DIR)/drivers/sound/soundcore.$(LINUX_KMOD_SUFFIX)
33   AUTOLOAD:=$(call AutoLoad,30,soundcore)
34 endef
35
36 # allow 2.6 targets to override the soundcore stuff
37 SOUNDCORE_LOAD ?= \
38         soundcore \
39         snd \
40         snd-page-alloc \
41         snd-hwdep \
42         snd-seq-device \
43         snd-rawmidi \
44         snd-timer \
45         snd-pcm \
46         snd-mixer-oss \
47         snd-pcm-oss
48
49 SOUNDCORE_FILES ?= \
50         $(LINUX_DIR)/sound/soundcore.$(LINUX_KMOD_SUFFIX) \
51         $(LINUX_DIR)/sound/core/snd.$(LINUX_KMOD_SUFFIX) \
52         $(LINUX_DIR)/sound/core/snd-page-alloc.$(LINUX_KMOD_SUFFIX) \
53         $(LINUX_DIR)/sound/core/snd-hwdep.$(LINUX_KMOD_SUFFIX) \
54         $(LINUX_DIR)/sound/core/seq/snd-seq-device.$(LINUX_KMOD_SUFFIX) \
55         $(LINUX_DIR)/sound/core/snd-rawmidi.$(LINUX_KMOD_SUFFIX) \
56         $(LINUX_DIR)/sound/core/snd-timer.$(LINUX_KMOD_SUFFIX) \
57         $(LINUX_DIR)/sound/core/snd-pcm.$(LINUX_KMOD_SUFFIX) \
58         $(LINUX_DIR)/sound/core/oss/snd-mixer-oss.$(LINUX_KMOD_SUFFIX) \
59         $(LINUX_DIR)/sound/core/oss/snd-pcm-oss.$(LINUX_KMOD_SUFFIX)
60
61 define KernelPackage/sound-core/2.6
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.$(LINUX_KMOD_SUFFIX) \
69         $(LINUX_DIR)/arch/um/drivers/hostaudio.$(LINUX_KMOD_SUFFIX)
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 KernelPackage/sound/Depends
81   SUBMENU:=$(SOUND_MENU)
82   DEPENDS:=kmod-sound-core $(1)
83 endef
84
85
86 define KernelPackage/sound-i8x0
87 $(call KernelPackage/sound/Depends,@!TARGET_uml)
88   TITLE:=Intel/SiS/nVidia/AMD/ALi AC97 Controller
89   KCONFIG:=CONFIG_SND_INTEL8X0
90   FILES:=$(LINUX_DIR)/sound/pci/snd-intel8x0.$(LINUX_KMOD_SUFFIX)
91   AUTOLOAD:=$(call AutoLoad,35,snd-i8x0)
92 endef
93
94 define KernelPackage/sound-i8x0/description
95  support for the integrated AC97 sound device on motherboards
96  with Intel/SiS/nVidia/AMD chipsets, or ALi chipsets using 
97  the M5455 Audio Controller.
98 endef
99
100 $(eval $(call KernelPackage,sound-i8x0))
101
102
103 define KernelPackage/sound-ps3
104 $(call KernelPackage/sound/Depends,@TARGET_ps3||TARGET_ps3chk)
105   TITLE:=PS3 Audio
106   KCONFIG:=CONFIG_SND_PS3 \
107                 CONFIG_SND_PPC=y \
108                 CONFIG_SND_PS3_DEFAULT_START_DELAY=2000
109   FILES:=$(LINUX_DIR)/sound/ppc/snd_ps3.$(LINUX_KMOD_SUFFIX)
110   AUTOLOAD:=$(call AutoLoad,35, snd_ps3)
111 endef
112
113 define KernelPackage/sound-ps3/description
114  support for the integrated PS3 audio device
115 endef
116
117 $(eval $(call KernelPackage,sound-ps3))
118
119
120 define KernelPackage/sound-cs5535audio
121 $(call KernelPackage/sound/Depends,@!TARGET_uml)
122   TITLE:=CS5535 PCI Controller
123   KCONFIG:=CONFIG_SND_CS5535AUDIO
124   FILES:=$(LINUX_DIR)/sound/pci/cs5535audio/snd-cs5535audio.$(LINUX_KMOD_SUFFIX) \
125         $(LINUX_DIR)/sound/ac97_bus.$(LINUX_KMOD_SUFFIX) \
126         $(LINUX_DIR)/sound/pci/ac97/snd-ac97-codec.$(LINUX_KMOD_SUFFIX) 
127   AUTOLOAD:=$(call AutoLoad,35, ac97_bus snd-ac97-codec snd-cs5535audio)
128 endef
129
130 define KernelPackage/sound-cs5535audio/description
131  support for the integrated AC97 sound device on olpc
132 endef
133
134 $(eval $(call KernelPackage,sound-cs5535audio))
135
136
137 define KernelPackage/sound-soc-core
138 $(call KernelPackage/sound/Depends)
139   TITLE:=SoC sound support
140   KCONFIG:= \
141         CONFIG_SND_SOC \
142         CONFIG_SND_SOC_ALL_CODECS=n
143   FILES:=$(LINUX_DIR)/sound/soc/snd-soc-core.ko
144   AUTOLOAD:=$(call AutoLoad,55, snd-soc-core)
145 endef
146
147 $(eval $(call KernelPackage,sound-soc-core))