add missing dependencies and kernel config options
[openwrt.git] / package / kernel / modules / other.mk
1 #
2 # Copyright (C) 2006 OpenWrt.org
3 #
4 # This is free software, licensed under the GNU General Public License v2.
5 # See /LICENSE for more information.
6 #
7 # $Id$
8
9 EMENU:=Other modules
10
11 define KernelPackage/crypto
12   TITLE:=CryptoAPI modules
13   KCONFIG:= \
14         CONFIG_CRYPTO_HMAC \
15         CONFIG_CRYPTO_NULL \
16         CONFIG_CRYPTO_MD4 \
17         CONFIG_CRYPTO_MD5 \
18         CONFIG_CRYPTO_SHA1 \
19         CONFIG_CRYPTO_SHA256 \
20         CONFIG_CRYPTO_SHA512 \
21         CONFIG_CRYPTO_WP512 \
22         CONFIG_CRYPTO_TGR192 \
23         CONFIG_CRYPTO_DES \
24         CONFIG_CRYPTO_BLOWFISH \
25         CONFIG_CRYPTO_TWOFISH \
26         CONFIG_CRYPTO_SERPENT \
27         CONFIG_CRYPTO_AES \
28         CONFIG_CRYPTO_CAST5 \
29         CONFIG_CRYPTO_CAST6 \
30         CONFIG_CRYPTO_TEA \
31         CONFIG_CRYPTO_ARC4 \
32         CONFIG_CRYPTO_KHAZAD \
33         CONFIG_CRYPTO_ANUBIS \
34         CONFIG_CRYPTO_DEFLATE \
35         CONFIG_CRYPTO_MICHAEL_MIC \
36         CONFIG_CRYPTO_CRC32C \
37         CONFIG_CRYPTO_ECB \
38         CONFIG_CRYPTO_BLKCIPHER 
39   FILES:=$(LINUX_DIR)/crypto/*.$(LINUX_KMOD_SUFFIX)
40   SUBMENU:=$(EMENU)
41 endef
42 $(eval $(call KernelPackage,crypto))
43
44 define KernelPackage/ide-core
45   TITLE:=Kernel support for IDE
46   DESCRIPTION:=\
47         Useful for usb mass storage devices (e.g. on WL-HDD)\\\
48         \\\
49         Includes: \\\
50         - ide-core \\\
51         - ide-detect \\\
52         - ide-disk
53   KCONFIG:=CONFIG_IDE
54   FILES:=$(LINUX_DIR)/drivers/ide/*.$(LINUX_KMOD_SUFFIX)
55   SUBMENU:=$(EMENU)
56   AUTOLOAD:=$(call AutoLoad,20,ide-core) $(call AutoLoad,90,ide-generic ide-detect ide-disk)
57 endef
58 $(eval $(call KernelPackage,ide-core))
59
60 define KernelPackage/ide-pdc202xx
61   TITLE:=PDC202xx IDE driver
62   SUBMENU:=$(EMENU)
63   DEPENDS:=@LINUX_2_4
64   KCONFIG:=CONFIG_BLK_DEV_PDC202XX_OLD
65   FILES:=$(LINUX_DIR)/drivers/ide/pci/pdc202xx_old.$(LINUX_KMOD_SUFFIX)
66   AUTOLOAD:=$(call AutoLoad,30,pdc202xx_old)
67 endef
68 $(eval $(call KernelPackage,ide-pdc202xx))
69
70 define KernelPackage/ide-aec62xx
71   TITLE:=AEC62xx IDE driver
72   SUBMENU:=$(EMENU)
73   KCONFIG:=CONFIG_BLK_DEV_AEC62XX
74   FILES:=$(LINUX_DIR)/drivers/ide/pci/aec62xx.$(LINUX_KMOD_SUFFIX)
75   AUTOLOAD:=$(call AutoLoad,30,aec62xx)
76 endef
77 $(eval $(call KernelPackage,ide-aec62xx))
78
79 define KernelPackage/scsi-core
80   TITLE:=Kernel support for SCSI
81   SUBMENU:=$(EMENU)
82   KCONFIG:=CONFIG_SCSI CONFIG_BLK_DEV_SD
83   FILES:= \
84     $(LINUX_DIR)/drivers/scsi/scsi_mod.$(LINUX_KMOD_SUFFIX) \
85     $(LINUX_DIR)/drivers/scsi/sd_mod.$(LINUX_KMOD_SUFFIX)
86 endef
87 $(eval $(call KernelPackage,scsi-core))
88
89 define KernelPackage/lp
90   TITLE:=Parallel port and line printer support
91   DEPENDS:=@LINUX_2_4
92   KCONFIG:=CONFIG_PARPORT
93   FILES:= \
94         $(LINUX_DIR)/drivers/parport/parport.$(LINUX_KMOD_SUFFIX) \
95         $(LINUX_DIR)/drivers/char/lp.$(LINUX_KMOD_SUFFIX) \
96         $(LINUX_DIR)/drivers/char/ppdev.$(LINUX_KMOD_SUFFIX)
97   SUBMENU:=$(EMENU)
98   AUTOLOAD:=$(call AutoLoad,50, \
99         parport \
100         lp \
101   )
102 endef
103 $(eval $(call KernelPackage,lp))
104
105
106 define KernelPackage/soundcore
107   TITLE:=Sound support
108   DESCRIPTION:=Kernel modules for sound support
109   KCONFIG:=CONFIG_SOUND
110   SUBMENU:=$(EMENU)
111 endef
112
113 define KernelPackage/soundcore/2.4
114   FILES:=$(LINUX_DIR)/drivers/sound/soundcore.$(LINUX_KMOD_SUFFIX)
115   AUTOLOAD:=$(call AutoLoad,30,soundcore)
116 endef
117
118 define KernelPackage/soundcore/2.6
119   FILES:= \
120         $(LINUX_DIR)/sound/soundcore.$(LINUX_KMOD_SUFFIX) \
121         $(LINUX_DIR)/sound/core/*.$(LINUX_KMOD_SUFFIX) \
122         $(if $(CONFIG_SND_MIXER_OSS)$(CONFIG_SND_PCM_OSS),$(LINUX_DIR)/sound/core/oss/*.$(LINUX_KMOD_SUFFIX))
123   AUTOLOAD:=$(call AutoLoad,30,soundcore snd snd-page-alloc snd-hwdep snd-rawmidi snd-timer snd-pcm $(if $(CONFIG_SND_MIXER_OSS),snd-mixer-oss) $(if $(CONFIG_SND_PCM_OSS),snd-pcm-oss))
124 endef
125
126 define KernelPackage/soundcore/uml-2.6
127   FILES:= \
128         $(LINUX_DIR)/arch/um/drivers/hostaudio.$(LINUX_KMOD_SUFFIX) \
129         $(LINUX_DIR)/sound/soundcore.$(LINUX_KMOD_SUFFIX)
130   AUTOLOAD:=$(call AutoLoad,30,soundcore hostaudio)
131 endef
132
133 $(eval $(call KernelPackage,soundcore))
134
135
136 define KernelPackage/loop
137   TITLE:=Loopback device support
138   DESCRIPTION:=Kernel module for loopback device support
139   KCONFIG:=CONFIG_BLK_DEV_LOOP
140   SUBMENU:=$(EMENU)
141   AUTOLOAD:=$(call AutoLoad,30,loop)
142   FILES:=$(LINUX_DIR)/drivers/block/loop.$(LINUX_KMOD_SUFFIX)
143 endef
144 $(eval $(call KernelPackage,loop))
145
146 define KernelPackage/nbd
147   TITLE:=Network block device support
148   DESCRIPTION:=Kernel module for network block device support
149   KCONFIG:=CONFIG_BLK_DEV_NBD
150   SUBMENU:=$(EMENU)
151   AUTOLOAD:=$(call AutoLoad,30,nbd)
152   FILES:=$(LINUX_DIR)/drivers/block/nbd.$(LINUX_KMOD_SUFFIX)
153 endef
154 $(eval $(call KernelPackage,nbd))
155
156 define KernelPackage/capi
157   TITLE:=CAPI Support
158   DESCRIPTION:=Kernel module for basic CAPI support
159   KCONFIG:=CONFIG_ISDN CONFIG_ISDN_CAPI CONFIG_ISDN_CAPI_CAPI20
160   DEPENDS:=@LINUX_2_6
161   SUBMENU:=$(EMENU)
162   AUTOLOAD:=$(call AutoLoad,30,kernelcapi capi)
163   FILES:=$(LINUX_DIR)/drivers/isdn/capi/*capi.$(LINUX_KMOD_SUFFIX)
164 endef
165 $(eval $(call KernelPackage,capi))
166
167 define KernelPackage/pcmcia-core
168   TITLE:=PCMCIA/CardBus support
169   DESCRIPTION:=Kernel support for PCMCIA/CardBus controllers
170   SUBMENU:=$(EMENU)
171   KCONFIG:=CONFIG_PCMCIA CONFIG_PCCARD
172 endef
173
174 define KernelPackage/pcmcia-core/2.4
175   FILES:= \
176         $(LINUX_DIR)/drivers/pcmcia/pcmcia_core.$(LINUX_KMOD_SUFFIX) \
177         $(LINUX_DIR)/drivers/pcmcia/yenta_socket.$(LINUX_KMOD_SUFFIX) \
178         $(LINUX_DIR)/drivers/pcmcia/ds.$(LINUX_KMOD_SUFFIX)
179   AUTOLOAD:=$(call AutoLoad,40,pcmcia_core yenta_socket ds)
180 endef
181
182 define KernelPackage/pcmcia-core/2.6
183   FILES:= \
184         $(LINUX_DIR)/drivers/pcmcia/pcmcia_core.$(LINUX_KMOD_SUFFIX) \
185         $(if $(CONFIG_PCMCIA),$(LINUX_DIR)/drivers/pcmcia/pcmcia.$(LINUX_KMOD_SUFFIX)) \
186         $(LINUX_DIR)/drivers/pcmcia/yenta_socket.$(LINUX_KMOD_SUFFIX) \
187         $(LINUX_DIR)/drivers/pcmcia/rsrc_nonstatic.$(LINUX_KMOD_SUFFIX)
188   AUTOLOAD:=$(call AutoLoad,40,pcmcia_core pcmcia rsrc_nonstatic yenta_socket)
189 endef
190 $(eval $(call KernelPackage,pcmcia-core))
191
192
193 define KernelPackage/pcmcia-serial
194   TITLE:=Serial devices support
195   DESCRIPTION:=Kernel support for PCMCIA/CardBus serial devices
196   DEPENDS:=kmod-pcmcia-core
197   SUBMENU:=$(EMENU)
198   AUTOLOAD:=$(call AutoLoad,45,serial_cs)
199   KCONFIG:=CONFIG_PCMCIA_SERIAL_CS CONFIG_SERIAL_8250_CS
200 endef
201
202 define KernelPackage/pcmcia-serial/2.4
203   FILES:=$(LINUX_DIR)/drivers/char/pcmcia/serial_cs.$(LINUX_KMOD_SUFFIX)
204 endef
205
206 define KernelPackage/pcmcia-serial/2.6
207   FILES:=$(LINUX_DIR)/drivers/serial/serial_cs.$(LINUX_KMOD_SUFFIX)
208 endef
209 $(eval $(call KernelPackage,pcmcia-serial))
210
211
212 define KernelPackage/bluetooth
213   TITLE:=Bluetooth support
214   DEPENDS:=@USB_SUPPORT
215   DESCRIPTION:=Kernel support for Bluetooth devices
216   SUBMENU:=$(EMENU)
217   KCONFIG:=CONFIG_BLUEZ CONFIG_BT
218  endef
219
220  define KernelPackage/bluetooth/2.4
221   FILES:= \
222         $(LINUX_DIR)/net/bluetooth/bluez.$(LINUX_KMOD_SUFFIX) \
223         $(LINUX_DIR)/net/bluetooth/l2cap.$(LINUX_KMOD_SUFFIX) \
224         $(LINUX_DIR)/net/bluetooth/sco.$(LINUX_KMOD_SUFFIX) \
225         $(LINUX_DIR)/net/bluetooth/rfcomm/rfcomm.$(LINUX_KMOD_SUFFIX) \
226         $(LINUX_DIR)/net/bluetooth/bnep/bnep.$(LINUX_KMOD_SUFFIX) \
227         $(LINUX_DIR)/drivers/bluetooth/hci_uart.$(LINUX_KMOD_SUFFIX) \
228         $(LINUX_DIR)/drivers/bluetooth/hci_usb.$(LINUX_KMOD_SUFFIX)
229   AUTOLOAD:=$(call AutoLoad,90,bluez l2cap sco rfcomm bnep hci_uart hci_usb)
230 endef
231
232 define KernelPackage/bluetooth/2.6
233   FILES:= \
234         $(LINUX_DIR)/net/bluetooth/bluetooth.$(LINUX_KMOD_SUFFIX) \
235         $(LINUX_DIR)/net/bluetooth/l2cap.$(LINUX_KMOD_SUFFIX) \
236         $(LINUX_DIR)/net/bluetooth/sco.$(LINUX_KMOD_SUFFIX) \
237         $(LINUX_DIR)/net/bluetooth/rfcomm/rfcomm.$(LINUX_KMOD_SUFFIX) \
238         $(LINUX_DIR)/net/bluetooth/bnep/bnep.$(LINUX_KMOD_SUFFIX) \
239         $(LINUX_DIR)/drivers/bluetooth/hci_uart.$(LINUX_KMOD_SUFFIX) \
240         $(LINUX_DIR)/drivers/bluetooth/hci_usb.$(LINUX_KMOD_SUFFIX)
241   AUTOLOAD:=$(call AutoLoad,90,bluetooth l2cap sco rfcomm bnep hci_uart hci_usb)
242 endef
243 $(eval $(call KernelPackage,bluetooth))
244
245 define KernelPackage/mmc
246   TITLE:=MMC/SD Card Support
247   DEPENDS:=@LINUX_2_6_AT91
248   DESCRIPTION:=Kernel support for MMC/SD cards
249   SUBMENU:=$(EMENU)
250   KCONFIG:=CONFIG_MMC
251   FILES:= \
252         $(LINUX_DIR)/drivers/mmc/mmc_core.$(LINUX_KMOD_SUFFIX) \
253         $(LINUX_DIR)/drivers/mmc/mmc_block.$(LINUX_KMOD_SUFFIX) \
254         $(LINUX_DIR)/drivers/mmc/at91_mci.$(LINUX_KMOD_SUFFIX)
255   AUTOLOAD:=$(call AutoLoad,90,mmc_core mmc_block at91_mci)
256 endef
257 $(eval $(call KernelPackage,mmc))
258
259 define KernelPackage/softdog
260   TITLE:=Software watchdog driver
261   DESCRIPTION:=Software watchdog driver
262   SUBMENU:=$(EMENU)
263   KCONFIG:=CONFIG_SOFT_WATCHDOG
264   FILES:=$(LINUX_DIR)/drivers/char/softdog.$(LINUX_KMOD_SUFFIX)
265   AUTOLOAD:=$(call AutoLoad,50,softdog)
266 endef
267
268 define KernelPackage/softdog/2.4
269   FILES:=$(LINUX_DIR)/drivers/char/softdog.o
270 endef
271
272 define KernelPackage/softdog/2.6
273   FILES:=$(LINUX_DIR)/drivers/char/watchdog/softdog.ko
274 endef
275 $(eval $(call KernelPackage,softdog))
276
277
278 define KernelPackage/videodev
279   TITLE=Video4Linux support
280   DESCRIPTION:=Kernel modules for Video4Linux support
281   DEPENDS:=@VIDEO_SUPPORT
282   SUBMENU:=$(EMENU)
283   KCONFIG:=CONFIG_VIDEO_DEV
284   FILES:=$(LINUX_DIR)/drivers/media/video/*.$(LINUX_KMOD_SUFFIX)
285 endef
286
287 define KernelPackage/videodev/2.4
288   AUTOLOAD:=$(call AutoLoad,60,videodev)
289 endef
290
291 define KernelPackage/videodev/2.6
292   AUTOLOAD:=$(call AutoLoad,60,v4l2-common v4l1-compat compat_ioctl32 videodev)
293 endef
294 $(eval $(call KernelPackage,videodev))
295
296 define KernelPackage/leds-net48xx
297   TITLE:=Soekris Net48xx LED support
298   DESCRIPTION:=Kernel module for Soekris Net48xx LEDs
299   DEPENDS:=@LINUX_2_6_X86
300   SUBMENU:=$(EMENU)
301   KCONFIG:=CONFIG_LEDS_NET48XX
302   FILES:=$(LINUX_DIR)/drivers/leds/leds-net48xx.$(LINUX_KMOD_SUFFIX)
303   AUTOLOAD:=$(call AutoLoad,50,leds-net48xx)
304 endef
305 $(eval $(call KernelPackage,leds-net48xx))
306
307 define KernelPackage/nsc-gpio
308   TITLE:=Natsemi GPIO support
309   DESCRIPTION:=Kernel module for Natsemi GPIO
310   DEPENDS:=@LINUX_2_6_X86
311   SUBMENU:=$(EMENU)
312   KCONFIG:=CONFIG_NSC_GPIO
313   FILES:=$(LINUX_DIR)/drivers/char/nsc_gpio.$(LINUX_KMOD_SUFFIX)
314   AUTOLOAD:=$(call AutoLoad,40,nsc_gpio)
315 endef
316 $(eval $(call KernelPackage,nsc-gpio))
317
318 define KernelPackage/scx200-gpio
319   TITLE:=Natsemi SCX200 GPIO support
320   DESCRIPTION:=Kernel module for SCX200 GPIO
321   DEPENDS:=kmod-nsc-gpio @LINUX_2_6_X86
322   SUBMENU:=$(EMENU)
323   KCONFIG:=CONFIG_SCx200_GPIO
324   FILES:=$(LINUX_DIR)/drivers/char/scx200_gpio.$(LINUX_KMOD_SUFFIX)
325   AUTOLOAD:=$(call AutoLoad,50,scx200_gpio)
326 endef
327 $(eval $(call KernelPackage,scx200-gpio))
328
329 define KernelPackage/scx200-wdt
330   TITLE:=Natsemi SCX200 Watchdog support
331   DESCRIPTION:=Kernel module for SCX200 Watchdog
332   DEPENDS:=@LINUX_2_6_X86
333   SUBMENU:=$(EMENU)
334   KCONFIG:=CONFIG_SC1200_WDT
335   FILES:=$(LINUX_DIR)/drivers/char/watchdog/scx200_wdt.$(LINUX_KMOD_SUFFIX)
336   AUTOLOAD:=$(call AutoLoad,50,scx200_wdt)
337 endef
338 $(eval $(call KernelPackage,scx200-wdt))
339
340 define KernelPackage/hwmon
341   TITLE:=Hardware monitoring support
342   DESCRIPTION:=Kernel modules for hardware monitoring
343   SUBMENU:=$(EMENU)
344   KCONFIG:=CONFIG_HWMON_VID
345   FILES:= \
346         $(LINUX_DIR)/drivers/hwmon/hwmon.$(LINUX_KMOD_SUFFIX) \
347         $(LINUX_DIR)/drivers/hwmon/hwmon-vid.$(LINUX_KMOD_SUFFIX)
348   AUTOLOAD:=$(call AutoLoad,40,hwmon hwmon-vid)
349 endef
350 $(eval $(call KernelPackage,hwmon))
351
352 define KernelPackage/hwmon-pc87360
353   TITLE:=PC87360 monitoring support
354   DESCRIPTION:=Kernel modules for PC87360 chips
355   DEPENDS:=kmod-hwmon
356   SUBMENU:=$(EMENU)
357   KCONFIG:=CONFIG_SENSORS_PC87360
358   FILES:=$(LINUX_DIR)/drivers/hwmon/pc87360.$(LINUX_KMOD_SUFFIX)
359   AUTOLOAD:=$(call AutoLoad,50,pc87360)
360 endef
361 $(eval $(call KernelPackage,hwmon-pc87360))
362
363 define KernelPackage/input-core
364   TITLE:=Input device core
365   DESCRIPTION:=Kernel modules for support of input device
366   SUBMENU:=$(EMENU)
367   DEPENDS:=@LINUX_2_6
368   KCONFIG:=CONFIG_INPUT
369   FILES:=$(LINUX_DIR)/drivers/input/input-core.$(LINUX_KMOD_SUFFIX)
370   AUTOLOAD:=$(call AutoLoad,50,input-core)
371 endef
372 $(eval $(call KernelPackage,input-core))
373
374 define KernelPackage/input-evdev
375   TITLE:=Input even device
376   DESCRIPTION:=Kernel modules for support of input device events
377   DEPENDS:=+kmod-input-core
378   SUBMENU:=$(EMENU)
379   KCONFIG:=CONFIG_INPUT_EVDEV
380   FILES:=$(LINUX_DIR)/drivers/input/evdev.$(LINUX_KMOD_SUFFIX)
381   AUTOLOAD:=$(call AutoLoad,60,evdev)
382 endef
383 $(eval $(call KernelPackage,input-evdev))
384