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