move brcm-2.4 specific kmod to new module layout
[openwrt.git] / package / kernel / modules.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
10 define KernelPackage/crypto
11   TITLE:=CryptoAPI modules
12   KCONFIG:= \
13         $(CONFIG_CRYPTO_HMAC) \
14         $(CONFIG_CRYPTO_NULL) \
15         $(CONFIG_CRYPTO_MD4) \
16         $(CONFIG_CRYPTO_MD5) \
17         $(CONFIG_CRYPTO_SHA1) \
18         $(CONFIG_CRYPTO_SHA256) \
19         $(CONFIG_CRYPTO_SHA512) \
20         $(CONFIG_CRYPTO_WP512) \
21         $(CONFIG_CRYPTO_TGR192) \
22         $(CONFIG_CRYPTO_DES) \
23         $(CONFIG_CRYPTO_BLOWFISH) \
24         $(CONFIG_CRYPTO_TWOFISH) \
25         $(CONFIG_CRYPTO_SERPENT) \
26         $(CONFIG_CRYPTO_AES) \
27         $(CONFIG_CRYPTO_CAST5) \
28         $(CONFIG_CRYPTO_CAST6) \
29         $(CONFIG_CRYPTO_TEA) \
30         $(CONFIG_CRYPTO_ARC4) \
31         $(CONFIG_CRYPTO_KHAZAD) \
32         $(CONFIG_CRYPTO_ANUBIS) \
33         $(CONFIG_CRYPTO_DEFLATE) \
34         $(CONFIG_CRYPTO_MICHAEL_MIC) \
35         $(CONFIG_CRYPTO_CRC32C)
36   FILES:=$(MODULES_DIR)/kernel/crypto/*.$(LINUX_KMOD_SUFFIX)
37 endef
38 $(eval $(call KernelPackage,crypto))
39
40 define KernelPackage/ide-core
41   TITLE:=Kernel support for IDE
42   DESCRIPTION:=\
43         Useful for usb mass storage devices (e.g. on WL-HDD)\\\
44         \\\
45         Includes: \\\
46         - ide-core \\\
47         - ide-detect \\\
48         - ide-disk
49   KCONFIG:=$(CONFIG_IDE)
50   FILES:=$(MODULES_DIR)/kernel/drivers/ide/*.$(LINUX_KMOD_SUFFIX)
51   AUTOLOAD:=$(call AutoLoad,20,ide-core) $(call AutoLoad,90,ide-detect ide-disk)
52 endef
53 $(eval $(call KernelPackage,ide-core))
54
55 define KernelPackage/ide-pdc202xx
56   TITLE:=PDC202xx IDE driver
57   KCONFIG:=$(CONFIG_BLK_DEV_PDC202XX_OLD)
58   FILES:=$(MODULES_DIR)/kernel/drivers/ide/pci/pdc202xx_old.$(LINUX_KMOD_SUFFIX)
59   AUTOLOAD:=$(call AutoLoad,30,pdc202xx_old)
60 endef
61 $(eval $(call KernelPackage,ide-pdc202xx))
62
63
64 define KernelPackage/lp
65   TITLE:=Parallel port and line printer support
66   KCONFIG:=$(CONFIG_PARPORT)
67   FILES:= \
68         $(MODULES_DIR)/kernel/drivers/parport/parport.o \
69         $(MODULES_DIR)/kernel/drivers/parport/parport_splink.o \
70         $(MODULES_DIR)/kernel/drivers/char/lp.o \
71         $(MODULES_DIR)/kernel/drivers/char/ppdev.o
72   AUTOLOAD:=$(call AutoLoad,50, \
73         parport \
74         parport_splink \
75         lp \
76   )
77 endef
78 $(eval $(call KernelPackage,lp))
79
80
81 define KernelPackage/ieee80211softmac
82   TITLE:=802.11 Networking stack
83   DESCRIPTION:=\\\
84         \\\
85         Includes: \\\
86         - ieee80211_crypt \\\
87         - ieee80211 \\\
88         - ieee80211_crypt_wep \\\
89         - ieee80211_crypt_tkip \\\
90         - ieee80211_crytp_ccmp \\\
91         - ieee80211softmac
92   KCONFIG:=$(CONFIG_IEEE80211_SOFTMAC)
93   FILES:=$(MODULES_DIR)/kernel/net/ieee80211/*.$(LINUX_KMOD_SUFFIX) $(MODULES_DIR)/kernel/net/ieee80211/softmac/*.$(LINUX_KMOD_SUFFIX)
94   AUTOLOAD:=$(call AutoLoad,10, \
95         ieee80211_crypt \
96         ieee80211 \
97         ieee80211_crypt_wep \
98         ieee80211_crypt_tkip \
99         ieee80211_crypt_ccmp \
100         ieee80211softmac \
101   )
102 endef
103 $(eval $(call KernelPackage,ieee80211softmac))
104
105
106 WIMENU:=Wireless drivers
107
108 define KernelPackage/bcm43xx
109   TITLE:=Broadcom BCM43xx driver
110   DESCRIPTION:=\\\
111         \\\
112         Includes: \\\
113         - bcm43xx
114   KCONFIG:=$(CONFIG_BCM43XX)
115   FILES:=$(MODULES_DIR)/kernel/drivers/net/wireless/bcm43xx/bcm43xx.$(LINUX_KMOD_SUFFIX)
116   AUTOLOAD:=$(call Autoload,50,bcm43xx)
117   SUBMENU:=$(WIMENU)
118 endef
119 $(eval $(call KernelPackage,bcm43xx))
120
121 define KernelPackage/ipw2100
122   TITLE:=Intel IPw2100 driver
123   DESCRIPTION:=\\\
124         \\\
125         Includes: \\\
126         - ipw2100
127   KCONFIG:=$(CONFIG_IPW2100)
128   FILES:=$(MODULES_DIR)/kernel/drivers/net/wireless/ipw2100.$(LINUX_KMOD_SUFFIX)
129   AUTOLOAD:=$(call Autoload,50,ipw2100)
130   SUBMENU:=$(WIMENU)
131 endef
132 $(eval $(call KernelPackage,ipw2100))
133
134 define KernelPackage/ipw2200
135   TITLE:=Intel IPw2200 driver
136   DESCRIPTION:=\\\
137         \\\
138         Includes: \\\
139         - ipw2200
140   KCONFIG:=$(CONFIG_IPW2200)
141   FILES:=$(MODULES_DIR)/kernel/drivers/net/wireless/ipw2200.$(LINUX_KMOD_SUFFIX)
142   AUTOLOAD:=$(call Autoload,50,ipw2200)
143   SUBMENU:=$(WIMENU)
144 endef
145 $(eval $(call KernelPackage,ipw2200))
146
147
148 NFMENU:=Netfilter Extensions
149
150 define KernelPackage/ipt-conntrack
151   TITLE:=Modules for connection tracking
152   DESCRIPTION:=\
153         Netfilter (IPv4) kernel modules for connection tracking\\\
154         \\\
155         Includes: \\\
156         - ipt_conntrack \\\
157         - ipt_helper \\\
158         - ipt_connmark/CONNMARK
159   FILES:=$(foreach mod,$(IPT_CONNTRACK-m),$(MODULES_DIR)/kernel/net/$(mod).$(LINUX_KMOD_SUFFIX))
160   SUBMENU:=$(NFMENU)
161 endef
162 $(eval $(call KernelPackage,ipt-conntrack))
163
164 define KernelPackage/ipt-filter
165   TITLE:=Modules for packet content inspection
166   DESCRIPTION:=\
167         Netfilter (IPv4) kernel modules for packet content inspection \\\
168         \\\
169         Includes: \\\
170         - ipt_ipp2p \\\
171         - ipt_layer7
172   FILES:=$(foreach mod,$(IPT_FILTER-m),$(MODULES_DIR)/kernel/net/$(mod).$(LINUX_KMOD_SUFFIX))
173   SUBMENU:=$(NFMENU)
174 endef
175 $(eval $(call KernelPackage,ipt-filter))
176
177 define KernelPackage/ipt-ipopt
178   TITLE:=Modules for matching/changing IP packet options
179   DESCRIPTION:=\
180         Netfilter (IPv4) modules for matching/changing IP packet options \\\
181         \\\
182         Includes: \\\
183         - ipt_dscp/DSCP \\\
184         - ipt_ecn/ECN \\\
185         - ipt_length \\\
186         - ipt_mac \\\
187         - ipt_tos/TOS \\\
188         - ipt_tcpmms \\\
189         - ipt_ttl/TTL \\\
190         - ipt_unclean
191   FILES:=$(foreach mod,$(IPT_IPOPT-m),$(MODULES_DIR)/kernel/net/$(mod).$(LINUX_KMOD_SUFFIX))
192   SUBMENU:=$(NFMENU)
193 endef
194 $(eval $(call KernelPackage,ipt-ipopt))
195
196 define KernelPackage/ipt-ipsec
197   TITLE:=Modules for matching IPSec packets
198   DESCRIPTION:=\
199         Netfilter (IPv4) modules for matching IPSec packets \\\
200         \\\
201         Includes: \\\
202         - ipt_ah \\\
203         - ipt_esp
204   FILES:=$(foreach mod,$(IPT_IPSEC-m),$(MODULES_DIR)/kernel/net/$(mod).$(LINUX_KMOD_SUFFIX))
205   SUBMENU:=$(NFMENU)
206 endef
207 $(eval $(call KernelPackage,ipt-ipsec))
208
209 define KernelPackage/ipt-nat
210   TITLE:=Modules for extra NAT targets
211   DESCRIPTION:=\
212         Netfilter (IPv4) modules for extra NAT targets \\\
213         \\\
214         Includes: \\\
215         - ipt_REDIRECT \\\
216         - ipt_NETMAP
217   FILES:=$(foreach mod,$(IPT_NAT-m),$(MODULES_DIR)/kernel/net/$(mod).$(LINUX_KMOD_SUFFIX))
218   SUBMENU:=$(NFMENU)
219 endef
220 $(eval $(call KernelPackage,ipt-nat))
221
222 define KernelPackage/ipt-nathelper
223   TITLE:=Extra Conntrack and NAT helpers
224   DESCRIPTION:=\
225         Extra Netfilter (IPv4) Conntrack and NAT helpers \\\
226         \\\
227         Includes: \\\
228         - ip_conntrack_amanda \\\
229         - ip_conntrack_proto_gre \\\
230         - ip_nat_proto_gre \\\
231         - ip_conntrack_pptp \\\
232         - ip_nat_pptp \\\
233         - ip_conntrack_sip \\\
234         - ip_nat_sip \\\
235         - ip_nat_snmp_basic \\\
236         - ip_conntrack_tftp
237   FILES:=$(foreach mod,$(IPT_NAT_EXTRA-m),$(MODULES_DIR)/kernel/net/$(mod).$(LINUX_KMOD_SUFFIX))
238   SUBMENU:=$(NFMENU)
239 endef
240 $(eval $(call KernelPackage,ipt-nathelper))
241
242 define KernelPackage/ipt-imq
243   TITLE:=Intermediate Queueing support
244   DESCRIPTION:=\
245         Kernel support for Intermediate Queueing devices
246   KCONFIG:=$(CONFIG_IP_NF_TARGET_IMQ)
247   FILES:=$(MODULES_DIR)/kernel/net/ipv4/netfilter/*IMQ*.$(LINUX_KMOD_SUFFIX) $(MODULES_DIR)/kernel/drivers/net/imq.$(LINUX_KMOD_SUFFIX)
248   SUBMENU:=$(NFMENU)
249 endef
250 $(eval $(call KernelPackage,ipt-imq))
251
252
253 define KernelPackage/ipt-queue
254   TITLE:=Module for user-space packet queueing
255   DESCRIPTION:=\
256         Netfilter (IPv4) module for user-space packet queueing \\\
257         \\\
258         Includes: \\\
259         - ipt_QUEUE
260   FILES:=$(foreach mod,$(IPT_QUEUE-m),$(MODULES_DIR)/kernel/net/$(mod).$(LINUX_KMOD_SUFFIX))
261   SUBMENU:=$(NFMENU)
262 endef
263 $(eval $(call KernelPackage,ipt-queue))
264
265 define KernelPackage/ipt-ulog
266   TITLE:=Module for user-space packet logging
267   DESCRIPTION:=\
268         Netfilter (IPv4) module for user-space packet logging \\\
269         \\\
270         Includes: \\\
271         - ipt_ULOG
272   FILES:=$(foreach mod,$(IPT_ULOG-m),$(MODULES_DIR)/kernel/net/$(mod).$(LINUX_KMOD_SUFFIX))
273   SUBMENU:=$(NFMENU)
274 endef
275 $(eval $(call KernelPackage,ipt-ulog))
276
277 define KernelPackage/ipt-extra
278   TITLE:=Extra modules
279   DESCRIPTION:=\
280         Other Netfilter (IPv4) kernel modules\\\
281         Includes: \\\
282         - ipt_limit \\\
283         - ipt_owner \\\
284         - ipt_physdev \\\
285         - ipt_pkttype \\\
286         - ipt_recent
287   FILES:=$(foreach mod,$(IPT_EXTRA-m),$(MODULES_DIR)/kernel/net/$(mod).$(LINUX_KMOD_SUFFIX))
288   SUBMENU:=$(NFMENU)
289 endef
290 $(eval $(call KernelPackage,ipt-extra))
291
292 define KernelPackage/ip6tables
293   TITLE:=IPv6 modules
294   DESCRIPTION:=\
295         Netfilter IPv6 firewalling support
296   KCONFIG:=$(CONFIG_IP6_NF_IPTABLES)
297   FILES:=$(MODULES_DIR)/kernel/net/ipv6/netfilter/ip*.$(LINUX_KMOD_SUFFIX)
298   SUBMENU:=$(NFMENU)
299 endef
300 $(eval $(call KernelPackage,ip6tables))
301
302
303 define KernelPackage/arptables
304   TITLE:=ARP firewalling modules
305   DESCRIPTION:=\
306         Kernel modules for ARP firewalling
307   FILES:=$(MODULES_DIR)/kernel/net/ipv4/netfilter/arp*.$(LINUX_KMOD_SUFFIX)
308   KCONFIG:=$(CONFIG_IP_NF_ARPTABLES)
309   SUBMENU:=$(NFMENU)
310 endef
311 $(eval $(call KernelPackage,arptables))
312
313
314 define KernelPackage/ebtables
315   TITLE:=Bridge firewalling modules
316   DESCRIPTION:=\
317         Kernel modules for Ethernet Bridge firewalling
318   FILES:=$(MODULES_DIR)/kernel/net/bridge/netfilter/*.$(LINUX_KMOD_SUFFIX)
319   KCONFIG:=$(CONFIG_BRIDGE_NF_EBTABLES)
320   SUBMENU:=$(NFMENU)
321 endef
322 $(eval $(call KernelPackage,ebtables))
323
324 define KernelPackage/ipip
325   TITLE:=IP in IP encapsulation support
326   DESCRIPTION:=\
327         Kernel modules for IP in IP encapsulation
328   FILES:=$(MODULES_DIR)/kernel/net/ipv4/ipip.$(LINUX_KMOD_SUFFIX)
329   KCONFIG:=$(CONFIG_NET_IPIP)
330 endef
331 $(eval $(call KernelPackage,ipip))
332
333
334 define KernelPackage/ipv6
335   TITLE:=IPv6 support
336   DESCRIPTION:=\
337         Kernel modules for IPv6 support
338   KCONFIG:=$(CONFIG_IPV6)
339   FILES:=$(MODULES_DIR)/kernel/net/ipv6/ipv6.$(LINUX_KMOD_SUFFIX)
340 endef
341 $(eval $(call KernelPackage,ipv6))
342
343
344 define KernelPackage/gre
345   TITLE:=GRE support
346   DESCRIPTION:=\
347         Generic Routing Encapsulation support
348   KCONFIG=$(CONFIG_NET_IPGRE)
349   FILES=$(MODULES_DIR)/kernel/net/ipv4/ip_gre.$(LINUX_KMOD_SUFFIX)
350 endef
351 $(eval $(call KernelPackage,gre))
352
353
354 define KernelPackage/tun
355   TITLE:=Universal TUN/TAP driver
356   DESCRIPTION:=\
357         Kernel support for the TUN/TAP tunneling device
358   KCONFIG:=$(CONFIG_TUN)
359   FILES:=$(MODULES_DIR)/kernel/drivers/net/tun.$(LINUX_KMOD_SUFFIX)
360 endef
361 $(eval $(call KernelPackage,tun))
362
363
364 define KernelPackage/ppp
365   TITLE:=PPP modules
366   DESCRIPTION:=\
367         Kernel modules for PPP support
368   KCONFIG:=$(CONFIG_PPP)
369 endef
370
371 define KernelPackage/ppp/2.6
372   FILES:=$(MODULES_DIR)/kernel/drivers/net/ppp_async.ko $(MODULES_DIR)/kernel/drivers/net/ppp_generic.ko $(MODULES_DIR)/kernel/drivers/net/slhc.ko $(MODULES_DIR)/kernel/lib/crc-ccitt.ko
373   AUTOLOAD:=$(call AutoLoad,30,crc-ccitt)
374 endef
375
376 define KernelPackage/ppp/2.4
377   FILES:=$(MODULES_DIR)/kernel/drivers/net/ppp_async.o $(MODULES_DIR)/kernel/drivers/net/ppp_generic.o $(MODULES_DIR)/kernel/drivers/net/slhc.o
378 endef
379 $(eval $(call KernelPackage,ppp))
380
381
382 define KernelPackage/pppoe
383   TITLE:=PPPoE support
384   DESCRIPTION:=\
385         Kernel modules for PPPoE (PPP over Ethernet) support
386   DEPENDS:=kmod-ppp
387   KCONFIG:=$(CONFIG_PPPOE)
388   FILES:=$(MODULES_DIR)/kernel/drivers/net/pppoe.$(LINUX_KMOD_SUFFIX) $(MODULES_DIR)/kernel/drivers/net/pppox.$(LINUX_KMOD_SUFFIX)
389 endef
390 $(eval $(call KernelPackage,pppoe))
391
392
393 define KernelPackage/pppoa
394   TITLE:=PPPoA support
395   DESCRIPTION:=\
396         Kernel modules for PPPoA (PPP over ATM) support
397   DEPENDS:=kmod-ppp
398   KCONFIG:=$(CONFIG_PPPOATM)
399   FILES:=$(MODULES_DIR)/kernel/net/atm/pppoatm.$(LINUX_KMOD_SUFFIX)
400 endef
401 $(eval $(call KernelPackage,pppoa))
402
403
404 define KernelPackage/mppe
405   TITLE:=Microsoft PPP compression/encryption
406   DESCRIPTION:=Kernel modules for Microsoft PPP compression/encryption
407   DEPENDS:=kmod-ppp
408   KCONFIG:=$(CONFIG_PPP_MPPE)
409 endef
410
411 define KernelPackage/mppe/2.4
412   FILES:=$(MODULES_DIR)/kernel/drivers/net/ppp_mppe_mppc.$(LINUX_KMOD_SUFFIX)
413 endef
414
415 define KernelPackage/mppe/2.6
416   FILES:=$(MODULES_DIR)/kernel/drivers/net/ppp_mppe.$(LINUX_KMOD_SUFFIX)
417 endef
418 $(eval $(call KernelPackage,mppe))
419
420
421 define KernelPackage/sched
422   TITLE:=Traffic schedulers
423   DESCRIPTION:=\
424         Kernel schedulers for IP traffic
425   FILES:=$(MODULES_DIR)/kernel/net/sched/*.$(LINUX_KMOD_SUFFIX)
426 endef
427 $(eval $(call KernelPackage,sched))
428
429
430
431 NDMENU:=Network Devices
432
433 define KernelPackage/natsemi
434   TITLE:=National Semiconductor DP8381x series 
435   DESCRIPTION:=\
436         Kernel modules for National Semiconductor DP8381x series PCI Ethernet \\\
437         adapters.
438   FILES:=$(MODULES_DIR)/kernel/drivers/net/natsemi.$(LINUX_KMOD_SUFFIX)
439   KCONFIG:=$(CONFIG_NATSEMI)
440   DEPENDS:=@LINUX_2_6_X86
441   DEFAULT:=y
442   SUBMENU:=$(NDMENU)
443   AUTOLOAD:=$(call AutoLoad,20,natsemi)
444 endef
445 $(eval $(call KernelPackage,natsemi))
446
447 define KernelPackage/sis900
448   TITLE:=SiS 900 Ethernet support
449   DESCRIPTION:=\
450         Kernel modules for Sis 900 Ethernet adapters.
451   FILES:=$(MODULES_DIR)/kernel/drivers/net/sis900.$(LINUX_KMOD_SUFFIX)
452   KCONFIG:=$(CONFIG_SIS900)
453   DEPENDS:=@LINUX_2_6_X86||LINUX_2_4_X86
454   SUBMENU:=$(NDMENU)
455 endef
456 $(eval $(call KernelPackage,sis900))
457
458 define KernelPackage/via-rhine
459   TITLE:=Via Rhine ethernet support
460   DESCRIPTION:=\
461         Kernel modules for Via Rhine Ethernet chipsets.
462   FILES:=$(MODULES_DIR)/kernel/drivers/net/via-rhine.$(LINUX_KMOD_SUFFIX)
463   KCONFIG:=$(CONFIG_VIA_RHINE)
464   DEPENDS:=@LINUX_2_6_X86||LINUX_2_4_X86
465   SUBMENU:=$(NDMENU)
466 endef
467 $(eval $(call KernelPackage,via-rhine))
468
469 define KernelPackage/8139too
470   TITLE:=RealTek RTL-8139 PCI Fast Ethernet Adapter kernel support
471   DESCRIPTION:=\
472         Kernel modules for RealTek RTL-8139 PCI Fast Ethernet adapters.
473   FILES:=$(MODULES_DIR)/kernel/drivers/net/8139too.$(LINUX_KMOD_SUFFIX)
474   KCONFIG:=$(CONFIG_8139TOO)
475   DEPENDS:=@LINUX_2_6_X86||LINUX_2_4_X86
476   SUBMENU:=$(NDMENU)
477 endef
478 $(eval $(call KernelPackage,8139too))
479
480 define KernelPackage/e100
481   TITLE:=Intel(R) PRO/100+ cards kernel support
482   DESCRIPTION:=\
483         Kernel modules for Intel(R) PRO/100+ Ethernet adapters.
484   FILES:=$(MODULES_DIR)/kernel/drivers/net/e100.$(LINUX_KMOD_SUFFIX)
485   KCONFIG:=$(CONFIG_E100)
486   DEPENDS:=@LINUX_2_6_X86||LINUX_2_4_X86
487   SUBMENU:=$(NDMENU)
488 endef
489 $(eval $(call KernelPackage,e100))
490
491 define KernelPackage/3c59x
492   TITLE:=3Com 3c590/3c900 series (592/595/597) Vortex/Boomerang
493   DESCRIPTION:=\
494         This option enables driver support for a large number of 10mbps and \\\
495         10/100mbps EISA, PCI and PCMCIA 3Com Ethernet adapters: \\\
496         - "Vortex"    (Fast EtherLink 3c590/3c592/3c595/3c597) EISA and PCI \\\
497         - "Boomerang" (EtherLink XL 3c900 or 3c905)            PCI \\\
498         - "Cyclone"   (3c540/3c900/3c905/3c980/3c575/3c656)    PCI and Cardbus \\\
499         - "Tornado"   (3c905)                                  PCI  \\\
500         - "Hurricane" (3c555/3cSOHO)                           PCI 
501   FILES:=$(MODULES_DIR)/kernel/drivers/net/3c59x.$(LINUX_KMOD_SUFFIX)
502   KCONFIG:=$(CONFIG_3C59X)
503   DEPENDS:=@LINUX_2_6_X86||LINUX_2_4_X86
504   SUBMENU:=$(NDMENU)
505 endef
506 $(eval $(call KernelPackage,3c59x))