require all CONFIG_* symbols listed in its KCONFIG to be set to m in order to actuall...
[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/crc-itu-t
12   SUBMENU:=$(EMENU)
13   TITLE:=CRC ITU-T V.41 support
14   DESCRIPTION:=Kernel module for CRC ITU-T V.41 support
15   KCONFIG:=CONFIG_CRC_ITU_T
16   FILES:=$(LINUX_DIR)/lib/crc-itu-t.$(LINUX_KMOD_SUFFIX)
17   AUTOLOAD:=$(call AutoLoad,20,crc-itu-t)
18 endef
19
20 $(eval $(call KernelPackage,crc-itu-t))
21
22
23 define KernelPackage/crypto
24   SUBMENU:=$(EMENU)
25   TITLE:=CryptoAPI modules
26   KCONFIG:= \
27         CONFIG_CRYPTO_HMAC \
28         CONFIG_CRYPTO_NULL \
29         CONFIG_CRYPTO_MD4 \
30         CONFIG_CRYPTO_MD5 \
31         CONFIG_CRYPTO_SHA1 \
32         CONFIG_CRYPTO_SHA256 \
33         CONFIG_CRYPTO_SHA512 \
34         CONFIG_CRYPTO_WP512 \
35         CONFIG_CRYPTO_TGR192 \
36         CONFIG_CRYPTO_DES \
37         CONFIG_CRYPTO_BLOWFISH \
38         CONFIG_CRYPTO_TWOFISH \
39         CONFIG_CRYPTO_SERPENT \
40         CONFIG_CRYPTO_AES \
41         CONFIG_CRYPTO_CAST5 \
42         CONFIG_CRYPTO_CAST6 \
43         CONFIG_CRYPTO_TEA \
44         CONFIG_CRYPTO_ARC4 \
45         CONFIG_CRYPTO_KHAZAD \
46         CONFIG_CRYPTO_ANUBIS \
47         CONFIG_CRYPTO_DEFLATE \
48         CONFIG_CRYPTO_MICHAEL_MIC \
49         CONFIG_CRYPTO_CRC32C \
50         CONFIG_CRYPTO_ECB \
51         CONFIG_CRYPTO_BLKCIPHER 
52   FILES:=$(LINUX_DIR)/crypto/*.$(LINUX_KMOD_SUFFIX)
53 endef
54
55 $(eval $(call KernelPackage,crypto))
56
57
58 define KernelPackage/eeprom-93cx6
59   SUBMENU:=$(EMENU)
60   TITLE:=EEPROM 93CX6 support
61   DESCRIPTION:=Kernel module for EEPROM 93CX6 support
62   DEPENDS:=@LINUX_2_6
63   KCONFIG:=CONFIG_EEPROM_93CX6
64   FILES:=$(LINUX_DIR)/drivers/misc/eeprom_93cx6.$(LINUX_KMOD_SUFFIX)
65   AUTOLOAD:=$(call AutoLoad,20,eeprom_93cx6)
66 endef
67
68 $(eval $(call KernelPackage,eeprom-93cx6))
69
70
71 define KernelPackage/lp
72   SUBMENU:=$(EMENU)
73   TITLE:=Parallel port and line printer support
74   DEPENDS:=@LINUX_2_4
75   KCONFIG:= \
76         CONFIG_PARPORT \
77         CONFIG_PRINTER \
78         CONFIG_PPDEV
79   FILES:= \
80         $(LINUX_DIR)/drivers/parport/parport.$(LINUX_KMOD_SUFFIX) \
81         $(LINUX_DIR)/drivers/char/lp.$(LINUX_KMOD_SUFFIX) \
82         $(LINUX_DIR)/drivers/char/ppdev.$(LINUX_KMOD_SUFFIX)
83   AUTOLOAD:=$(call AutoLoad,50,parport lp)
84 endef
85
86 $(eval $(call KernelPackage,lp))
87
88
89 define KernelPackage/soundcore
90   SUBMENU:=$(EMENU)
91   TITLE:=Sound support
92   DESCRIPTION:=Kernel modules for sound support
93   KCONFIG:=CONFIG_SOUND
94 endef
95
96 define KernelPackage/soundcore/2.4
97   FILES:=$(LINUX_DIR)/drivers/sound/soundcore.$(LINUX_KMOD_SUFFIX)
98   AUTOLOAD:=$(call AutoLoad,30,soundcore)
99 endef
100
101 define KernelPackage/soundcore/2.6
102   KCONFIG+= \
103         CONFIG_SND \
104         CONFIG_SND_HWDEP \
105         CONFIG_SND_RAWMIDI \
106         CONFIG_SND_TIMER \
107         CONFIG_SND_PCM
108   FILES:= \
109         $(LINUX_DIR)/sound/soundcore.$(LINUX_KMOD_SUFFIX) \
110         $(LINUX_DIR)/sound/core/snd.$(LINUX_KMOD_SUFFIX) \
111         $(LINUX_DIR)/sound/core/snd-page-alloc.$(LINUX_KMOD_SUFFIX) \
112         $(LINUX_DIR)/sound/core/snd-hwdep.$(LINUX_KMOD_SUFFIX) \
113         $(LINUX_DIR)/sound/core/snd-rawmidi.$(LINUX_KMOD_SUFFIX) \
114         $(LINUX_DIR)/sound/core/snd-timer.$(LINUX_KMOD_SUFFIX) \
115         $(LINUX_DIR)/sound/core/snd-pcm.$(LINUX_KMOD_SUFFIX) \
116         $(if $(CONFIG_SND_MIXER_OSS),$(LINUX_DIR)/sound/core/oss/snd-mixer-oss.$(LINUX_KMOD_SUFFIX)) \
117         $(if $(CONFIG_SND_PCM_OSS),$(LINUX_DIR)/sound/core/oss/snd-pcm-oss.$(LINUX_KMOD_SUFFIX))
118   AUTOLOAD:=$(call AutoLoad,30, \
119         soundcore \
120         snd \
121         snd-page-alloc \
122         snd-hwdep \
123         snd-rawmidi \
124         snd-timer \
125         snd-pcm \
126         $(if $(CONFIG_SND_MIXER_OSS),snd-mixer-oss) \
127         $(if $(CONFIG_SND_PCM_OSS),snd-pcm-oss) \
128   )
129 endef
130
131 define KernelPackage/soundcore/uml-2.6
132   KCONFIG+= \
133         CONFIG_HOSTAUDIO
134   FILES:= \
135         $(LINUX_DIR)/sound/soundcore.$(LINUX_KMOD_SUFFIX) \
136         $(LINUX_DIR)/arch/um/drivers/hostaudio.$(LINUX_KMOD_SUFFIX)
137   AUTOLOAD:=$(call AutoLoad,30,soundcore hostaudio)
138 endef
139
140 $(eval $(call KernelPackage,soundcore))
141
142
143 define KernelPackage/loop
144   SUBMENU:=$(EMENU)
145   TITLE:=Loopback device support
146   DESCRIPTION:=Kernel module for loopback device support
147   KCONFIG:=CONFIG_BLK_DEV_LOOP
148   FILES:=$(LINUX_DIR)/drivers/block/loop.$(LINUX_KMOD_SUFFIX)
149   AUTOLOAD:=$(call AutoLoad,30,loop)
150 endef
151
152 $(eval $(call KernelPackage,loop))
153
154
155 define KernelPackage/nbd
156   SUBMENU:=$(EMENU)
157   TITLE:=Network block device support
158   DESCRIPTION:=Kernel module for network block device support
159   KCONFIG:=CONFIG_BLK_DEV_NBD
160   FILES:=$(LINUX_DIR)/drivers/block/nbd.$(LINUX_KMOD_SUFFIX)
161   AUTOLOAD:=$(call AutoLoad,30,nbd)
162 endef
163
164 $(eval $(call KernelPackage,nbd))
165
166
167 define KernelPackage/capi
168   SUBMENU:=$(EMENU)
169   TITLE:=CAPI Support
170   DESCRIPTION:=Kernel module for basic CAPI support
171   DEPENDS:=@LINUX_2_6
172   KCONFIG:= \
173         CONFIG_ISDN \
174         CONFIG_ISDN_CAPI \
175         CONFIG_ISDN_CAPI_CAPI20
176   FILES:= \
177         $(LINUX_DIR)/drivers/isdn/capi/kernelcapi.$(LINUX_KMOD_SUFFIX) \
178         $(LINUX_DIR)/drivers/isdn/capi/capi.$(LINUX_KMOD_SUFFIX)
179   AUTOLOAD:=$(call AutoLoad,30,kernelcapi capi)
180 endef
181
182 $(eval $(call KernelPackage,capi))
183
184
185 define KernelPackage/pcmcia-core
186   SUBMENU:=$(EMENU)
187   TITLE:=PCMCIA/CardBus support
188   DESCRIPTION:=Kernel support for PCMCIA/CardBus controllers
189   DEPENDS:=@PCMCIA_SUPPORT
190 endef
191
192 define KernelPackage/pcmcia-core/2.4
193   KCONFIG:= \
194         CONFIG_PCMCIA \
195         CONFIG_CARDBUS
196   FILES:= \
197         $(LINUX_DIR)/drivers/pcmcia/pcmcia_core.$(LINUX_KMOD_SUFFIX) \
198         $(LINUX_DIR)/drivers/pcmcia/ds.$(LINUX_KMOD_SUFFIX) \
199         $(LINUX_DIR)/drivers/pcmcia/yenta_socket.$(LINUX_KMOD_SUFFIX)
200   AUTOLOAD:=$(call AutoLoad,40,pcmcia_core yenta_socket ds)
201 endef
202
203 define KernelPackage/pcmcia-core/2.6
204   KCONFIG:= \
205         CONFIG_PCCARD \
206         CONFIG_PCMCIA \
207         CONFIG_YENTA \
208         CONFIG_PCCARD_NONSTATIC \
209         PCMCIA_DEBUG=n
210   FILES:= \
211         $(LINUX_DIR)/drivers/pcmcia/pcmcia_core.$(LINUX_KMOD_SUFFIX) \
212         $(LINUX_DIR)/drivers/pcmcia/pcmcia.$(LINUX_KMOD_SUFFIX) \
213         $(LINUX_DIR)/drivers/pcmcia/rsrc_nonstatic.$(LINUX_KMOD_SUFFIX) \
214         $(LINUX_DIR)/drivers/pcmcia/yenta_socket.$(LINUX_KMOD_SUFFIX)
215   AUTOLOAD:=$(call AutoLoad,40,pcmcia_core pcmcia rsrc_nonstatic yenta_socket)
216 endef
217
218 define KernelPackage/pcmcia-core/au1000-2.6
219   FILES:= \
220         $(LINUX_DIR)/drivers/pcmcia/pcmcia_core.$(LINUX_KMOD_SUFFIX) \
221         $(LINUX_DIR)/drivers/pcmcia/pcmcia.$(LINUX_KMOD_SUFFIX) \
222         $(LINUX_DIR)/drivers/pcmcia/rsrc_nonstatic.$(LINUX_KMOD_SUFFIX) \
223         $(LINUX_DIR)/drivers/pcmcia/au1x00_ss.$(LINUX_KMOD_SUFFIX)
224   AUTOLOAD:=$(call AutoLoad,40,pcmcia_core pcmcia rsrc_nonstatic au1x00_ss)
225 endef
226
227
228 $(eval $(call KernelPackage,pcmcia-core))
229
230
231 define KernelPackage/pcmcia-serial
232   SUBMENU:=$(EMENU)
233   TITLE:=Serial devices support
234   DESCRIPTION:=Kernel support for PCMCIA/CardBus serial devices
235   DEPENDS:=kmod-pcmcia-core
236   AUTOLOAD:=$(call AutoLoad,45,serial_cs)
237 endef
238
239 define KernelPackage/pcmcia-serial/2.4
240   KCONFIG:=CONFIG_PCMCIA_SERIAL_CS
241   FILES:=$(LINUX_DIR)/drivers/char/pcmcia/serial_cs.$(LINUX_KMOD_SUFFIX)
242 endef
243
244 define KernelPackage/pcmcia-serial/2.6
245   KCONFIG:=CONFIG_SERIAL_8250_CS
246   FILES:=$(LINUX_DIR)/drivers/serial/serial_cs.$(LINUX_KMOD_SUFFIX)
247 endef
248
249 $(eval $(call KernelPackage,pcmcia-serial))
250
251
252 define KernelPackage/bluetooth
253   SUBMENU:=$(EMENU)
254   TITLE:=Bluetooth support
255   DEPENDS:=@USB_SUPPORT
256   DESCRIPTION:=Kernel support for Bluetooth devices
257 endef
258
259 define KernelPackage/bluetooth/2.4
260   KCONFIG:= \
261         CONFIG_BLUEZ \
262         CONFIG_BLUEZ_L2CAP \
263         CONFIG_BLUEZ_SCO \
264         CONFIG_BLUEZ_RFCOMM \
265         CONFIG_BLUEZ_BNEP \
266         CONFIG_BLUEZ_HCIUART \
267         CONFIG_BLUEZ_HCIUSB
268   FILES:= \
269         $(LINUX_DIR)/net/bluetooth/bluez.$(LINUX_KMOD_SUFFIX) \
270         $(LINUX_DIR)/net/bluetooth/l2cap.$(LINUX_KMOD_SUFFIX) \
271         $(LINUX_DIR)/net/bluetooth/sco.$(LINUX_KMOD_SUFFIX) \
272         $(LINUX_DIR)/net/bluetooth/rfcomm/rfcomm.$(LINUX_KMOD_SUFFIX) \
273         $(LINUX_DIR)/net/bluetooth/bnep/bnep.$(LINUX_KMOD_SUFFIX) \
274         $(LINUX_DIR)/drivers/bluetooth/hci_uart.$(LINUX_KMOD_SUFFIX) \
275         $(LINUX_DIR)/drivers/bluetooth/hci_usb.$(LINUX_KMOD_SUFFIX)
276   AUTOLOAD:=$(call AutoLoad,90,bluez l2cap sco rfcomm bnep hci_uart hci_usb)
277 endef
278
279 define KernelPackage/bluetooth/2.6
280   KCONFIG:= \
281         CONFIG_BT \
282         CONFIG_BT_L2CAP \
283         CONFIG_BT_SCO \
284         CONFIG_BT_RFCOMM \
285         CONFIG_BT_BNEP \
286         CONFIG_BT_HCIUSB \
287         CONFIG_BT_HCIUART
288   FILES:= \
289         $(LINUX_DIR)/net/bluetooth/bluetooth.$(LINUX_KMOD_SUFFIX) \
290         $(LINUX_DIR)/net/bluetooth/l2cap.$(LINUX_KMOD_SUFFIX) \
291         $(LINUX_DIR)/net/bluetooth/sco.$(LINUX_KMOD_SUFFIX) \
292         $(LINUX_DIR)/net/bluetooth/rfcomm/rfcomm.$(LINUX_KMOD_SUFFIX) \
293         $(LINUX_DIR)/net/bluetooth/bnep/bnep.$(LINUX_KMOD_SUFFIX) \
294         $(LINUX_DIR)/drivers/bluetooth/hci_uart.$(LINUX_KMOD_SUFFIX) \
295         $(LINUX_DIR)/drivers/bluetooth/hci_usb.$(LINUX_KMOD_SUFFIX)
296   AUTOLOAD:=$(call AutoLoad,90,bluetooth l2cap sco rfcomm bnep hci_uart hci_usb)
297 endef
298
299 $(eval $(call KernelPackage,bluetooth))
300
301
302 define KernelPackage/mmc
303   SUBMENU:=$(EMENU)
304   TITLE:=MMC/SD Card Support
305   DEPENDS:=@LINUX_2_6_AT91
306   DESCRIPTION:=Kernel support for MMC/SD cards
307   KCONFIG:= \
308         CONFIG_MMC \
309         CONFIG_MMC_BLOCK \
310         CONFIG_MMC_AT91
311   FILES:= \
312         $(LINUX_DIR)/drivers/mmc/mmc_core.$(LINUX_KMOD_SUFFIX) \
313         $(LINUX_DIR)/drivers/mmc/mmc_block.$(LINUX_KMOD_SUFFIX) \
314         $(LINUX_DIR)/drivers/mmc/at91_mci.$(LINUX_KMOD_SUFFIX)
315   AUTOLOAD:=$(call AutoLoad,90,mmc_core mmc_block at91_mci)
316 endef
317
318 $(eval $(call KernelPackage,mmc))
319
320
321 define KernelPackage/softdog
322   SUBMENU:=$(EMENU)
323   TITLE:=Software watchdog driver
324   DESCRIPTION:=Software watchdog driver
325   KCONFIG:=CONFIG_SOFT_WATCHDOG
326   AUTOLOAD:=$(call AutoLoad,50,softdog)
327 endef
328
329 define KernelPackage/softdog/2.4
330   FILES:=$(LINUX_DIR)/drivers/char/softdog.o
331 endef
332
333 define KernelPackage/softdog/2.6
334   FILES:=$(LINUX_DIR)/drivers/char/watchdog/softdog.ko
335 endef
336
337 $(eval $(call KernelPackage,softdog))
338
339
340 define KernelPackage/videodev
341   SUBMENU:=$(EMENU)
342   TITLE=Video4Linux support
343   DESCRIPTION:=Kernel modules for Video4Linux support
344   KCONFIG:=CONFIG_VIDEO_DEV
345 endef
346
347 define KernelPackage/videodev/2.4
348   FILES:=$(LINUX_DIR)/drivers/media/video/videodev.$(LINUX_KMOD_SUFFIX)
349   AUTOLOAD:=$(call AutoLoad,60,videodev)
350 endef
351
352 define KernelPackage/videodev/2.6
353   FILES:= \
354         $(LINUX_DIR)/drivers/media/video/v4l2-common.$(LINUX_KMOD_SUFFIX) \
355         $(if $(CONFIG_VIDEO_V4L1_COMPAT),$(LINUX_DIR)/drivers/media/video/v4l1-compat.$(LINUX_KMOD_SUFFIX)) \
356         $(LINUX_DIR)/drivers/media/video/compat_ioctl32.$(LINUX_KMOD_SUFFIX) \
357         $(LINUX_DIR)/drivers/media/video/videodev.$(LINUX_KMOD_SUFFIX)
358   AUTOLOAD:=$(call AutoLoad,60, \
359         v4l2-common \
360         $(if $(CONFIG_VIDEO_V4L1_COMPAT),v4l1-compat) \
361         compat_ioctl32 \
362         videodev \
363   )
364 endef
365
366 $(eval $(call KernelPackage,videodev))
367
368
369 define KernelPackage/leds-net48xx
370   SUBMENU:=$(EMENU)
371   TITLE:=Soekris Net48xx LED support
372   DESCRIPTION:=Kernel module for Soekris Net48xx LEDs
373   DEPENDS:=@LINUX_2_6_X86
374   KCONFIG:=CONFIG_LEDS_NET48XX
375   FILES:=$(LINUX_DIR)/drivers/leds/leds-net48xx.$(LINUX_KMOD_SUFFIX)
376   AUTOLOAD:=$(call AutoLoad,50,leds-net48xx)
377 endef
378
379 $(eval $(call KernelPackage,leds-net48xx))
380
381
382 define KernelPackage/nsc-gpio
383   SUBMENU:=$(EMENU)
384   TITLE:=Natsemi GPIO support
385   DESCRIPTION:=Kernel module for Natsemi GPIO
386   DEPENDS:=@LINUX_2_6_X86
387   KCONFIG:=CONFIG_NSC_GPIO
388   FILES:=$(LINUX_DIR)/drivers/char/nsc_gpio.$(LINUX_KMOD_SUFFIX)
389   AUTOLOAD:=$(call AutoLoad,40,nsc_gpio)
390 endef
391
392 $(eval $(call KernelPackage,nsc-gpio))
393
394
395 define KernelPackage/scx200-gpio
396   SUBMENU:=$(EMENU)
397   TITLE:=Natsemi SCX200 GPIO support
398   DESCRIPTION:=Kernel module for SCX200 GPIO
399   DEPENDS:=kmod-nsc-gpio @LINUX_2_6_X86
400   KCONFIG:=CONFIG_SCx200_GPIO
401   FILES:=$(LINUX_DIR)/drivers/char/scx200_gpio.$(LINUX_KMOD_SUFFIX)
402   AUTOLOAD:=$(call AutoLoad,50,scx200_gpio)
403 endef
404
405 $(eval $(call KernelPackage,scx200-gpio))
406
407
408 define KernelPackage/scx200-wdt
409   SUBMENU:=$(EMENU)
410   TITLE:=Natsemi SCX200 Watchdog support
411   DESCRIPTION:=Kernel module for SCX200 Watchdog
412   DEPENDS:=@LINUX_2_6_X86
413   KCONFIG:=CONFIG_SC1200_WDT
414   FILES:=$(LINUX_DIR)/drivers/char/watchdog/scx200_wdt.$(LINUX_KMOD_SUFFIX)
415   AUTOLOAD:=$(call AutoLoad,50,scx200_wdt)
416 endef
417
418 $(eval $(call KernelPackage,scx200-wdt))
419
420
421 define KernelPackage/hwmon
422   SUBMENU:=$(EMENU)
423   TITLE:=Hardware monitoring support
424   DESCRIPTION:=Kernel modules for hardware monitoring
425   DEPENDS:=@LINUX_2_6
426   KCONFIG:= \
427         CONFIG_HWMON \
428         CONFIG_HWMON_VID \
429         CONFIG_HWMON_DEBUG_CHIP=n
430   FILES:= \
431         $(LINUX_DIR)/drivers/hwmon/hwmon.$(LINUX_KMOD_SUFFIX) \
432         $(LINUX_DIR)/drivers/hwmon/hwmon-vid.$(LINUX_KMOD_SUFFIX)
433   AUTOLOAD:=$(call AutoLoad,40,hwmon hwmon-vid)
434 endef
435
436 $(eval $(call KernelPackage,hwmon))
437
438
439 define KernelPackage/hwmon-pc87360
440   SUBMENU:=$(EMENU)
441   TITLE:=PC87360 monitoring support
442   DESCRIPTION:=Kernel modules for PC87360 chips
443   DEPENDS:=kmod-hwmon
444   KCONFIG:=CONFIG_SENSORS_PC87360
445   FILES:=$(LINUX_DIR)/drivers/hwmon/pc87360.$(LINUX_KMOD_SUFFIX)
446   AUTOLOAD:=$(call AutoLoad,50,pc87360)
447 endef
448
449 $(eval $(call KernelPackage,hwmon-pc87360))
450
451
452 define KernelPackage/input-core
453   SUBMENU:=$(EMENU)
454   TITLE:=Input device core
455   DESCRIPTION:=Kernel modules for support of input device
456   DEPENDS:=@LINUX_2_6
457   KCONFIG:=CONFIG_INPUT
458   FILES:=$(LINUX_DIR)/drivers/input/input-core.$(LINUX_KMOD_SUFFIX)
459   AUTOLOAD:=$(call AutoLoad,50,input-core)
460 endef
461
462 $(eval $(call KernelPackage,input-core))
463
464
465 define KernelPackage/input-evdev
466   SUBMENU:=$(EMENU)
467   TITLE:=Input even device
468   DESCRIPTION:=Kernel modules for support of input device events
469   DEPENDS:=+kmod-input-core
470   KCONFIG:=CONFIG_INPUT_EVDEV
471   FILES:=$(LINUX_DIR)/drivers/input/evdev.$(LINUX_KMOD_SUFFIX)
472   AUTOLOAD:=$(call AutoLoad,60,evdev)
473 endef
474
475 $(eval $(call KernelPackage,input-evdev))