Move a bunch of ethernet hardware drivers to new kernel module packageing
[openwrt/openwrt.git] / openwrt / 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 DESCRIPTION:=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:=$(MODULES_DIR)/kernel/crypto/*.$(LINUX_KMOD_SUFFIX)
38 endef
39 $(eval $(call KernelPackage,crypto))
40
41 define KernelPackage/ide-core
42 TITLE:=Kernel support for IDE
43 DESCRIPTION:=Kernel modules for IDE support\\\
44 useful for usb mass storage devices (e.g. on WL-HDD)\\\
45 \\\
46 Includes: \\\
47 - ide-core \\\
48 - ide-detect \\\
49 - ide-disk \\\
50 - pdc202xx_old
51 KCONFIG:=$(CONFIG_IDE)
52 FILES:=$(MODULES_DIR)/kernel/drivers/ide/*.$(LINUX_KMOD_SUFFIX)
53 AUTOLOAD:=$(call AutoLoad,20,ide-core) $(call AutoLoad,90,ide-detect ide-disk)
54 endef
55 $(eval $(call KernelPackage,ide-core))
56
57 define KernelPackage/ide-pdc202xx
58 TITLE:=PDC202xx IDE driver
59 DESCRIPTION:=PDC202xx IDE driver
60 KCONFIG:=$(CONFIG_BLK_DEV_PDC202XX_OLD)
61 FILES:=$(MODULES_DIR)/kernel/drivers/ide/pci/pdc202xx_old.$(LINUX_KMOD_SUFFIX)
62 AUTOLOAD:=$(call AutoLoad,30,pdc202xx_old)
63 endef
64 $(eval $(call KernelPackage,ide-pdc202xx))
65
66 define KernelPackage/ieee80211softmac
67 TITLE:=802.11 Networking stack
68 DESCRIPTION:=802.11 Networking stack\\\
69 Includes: \\\
70 * ieee80211_crypt \\\
71 * ieee80211 \\\
72 * ieee80211_crypt_wep \\\
73 * ieee80211_crypt_tkip \\\
74 * ieee80211_crytp_ccmp \\\
75 * ieee80211softmac
76 KCONFIG:=$(CONFIG_IEEE80211_SOFTMAC)
77 FILES:=$(MODULES_DIR)/kernel/net/ieee80211/*.$(LINUX_KMOD_SUFFIX) $(MODULES_DIR)/kernel/net/ieee80211/softmac/*.$(LINUX_KMOD_SUFFIX)
78 AUTOLOAD:=$(call AutoLoad,10,ieee80211_crypt \
79 ieee80211 \
80 ieee80211_crypt_wep \
81 ieee80211_crypt_tkip \
82 ieee80211_crypt_ccmp \
83 ieee80211softmac)
84 endef
85 $(eval $(call KernelPackage,ieee80211softmac))
86
87 WIMENU:=Wireless drivers
88
89 define KernelPackage/bcm43xx
90 TITLE:=Broadcom BCM43xx driver
91 DESCRIPTION:=Open source BCM43xx driver\\\
92 Includes: \\\
93 * bcm43xx
94 KCONFIG:=$(CONFIG_BCM43XX)
95 SUBMENU:=$(WIMENU)
96 FILES:=$(MODULES_DIR)/kernel/drivers/net/wireless/bcm43xx/bcm43xx.$(LINUX_KMOD_SUFFIX)
97 AUTOLOAD:=$(call Autoload,50,bcm43xx)
98 endef
99 $(eval $(call KernelPackage,bcm43xx))
100
101 define KernelPackage/ipw2100
102 TITLE:=Intel IPw2100 driver
103 DESCRIPTION:=Intel IPW2100 driver\\\
104 Includes: \\\
105 * ipw2100
106 KCONFIG:=$(CONFIG_IPW2100)
107 SUBMENU:=$(WIMENU)
108 FILES:=$(MODULES_DIR)/kernel/drivers/net/wireless/ipw2100.$(LINUX_KMOD_SUFFIX)
109 AUTOLOAD:=$(call Autoload,50,ipw2100)
110 endef
111 $(eval $(call KernelPackage,ipw2100))
112
113 define KernelPackage/ipw2200
114 TITLE:=Intel IPw2200 driver
115 DESCRIPTION:=Intel IPW2200 driver\\\
116 Includes: \\\
117 * ipw2200
118 KCONFIG:=$(CONFIG_IPW2200)
119 SUBMENU:=$(WIMENU)
120 FILES:=$(MODULES_DIR)/kernel/drivers/net/wireless/ipw2200.$(LINUX_KMOD_SUFFIX)
121 AUTOLOAD:=$(call Autoload,50,ipw2200)
122 endef
123 $(eval $(call KernelPackage,ipw2200))
124
125 NFMENU:=Netfilter Extensions
126
127 define KernelPackage/ipt-conntrack
128 TITLE:=Modules for connection tracking
129 DESCRIPTION:=Netfilter (IPv4) kernel modules for connection tracking\\\
130 Includes: \\\
131 * ipt_conntrack \\\
132 * ipt_helper \\\
133 * ipt_connmark/CONNMARK
134 SUBMENU:=$(NFMENU)
135 FILES:=$(foreach mod,$(IPT_CONNTRACK-m),$(MODULES_DIR)/kernel/net/$(mod).$(LINUX_KMOD_SUFFIX))
136 endef
137 $(eval $(call KernelPackage,ipt-conntrack))
138
139
140 define KernelPackage/ipt-filter
141 TITLE:=Modules for packet content inspection
142 DESCRIPTION:=Netfilter (IPv4) kernel modules for packet content inspection \\\
143 Includes: \\\
144 * ipt_ipp2p \\\
145 * ipt_layer7
146 SUBMENU:=$(NFMENU)
147 FILES:=$(foreach mod,$(IPT_FILTER-m),$(MODULES_DIR)/kernel/net/$(mod).$(LINUX_KMOD_SUFFIX))
148 endef
149 $(eval $(call KernelPackage,ipt-filter))
150
151
152 define KernelPackage/ipt-ipopt
153 TITLE:=Modules for matching/changing IP packet options
154 DESCRIPTION:=Netfilter (IPv4) modules for matching/changing IP packet options \\\
155 Includes: \\\
156 * ipt_dscp/DSCP \\\
157 * ipt_ecn/ECN \\\
158 * ipt_length \\\
159 * ipt_mac \\\
160 * ipt_tos/TOS \\\
161 * ipt_tcpmms \\\
162 * ipt_ttl/TTL \\\
163 * ipt_unclean
164 SUBMENU:=$(NFMENU)
165 FILES:=$(foreach mod,$(IPT_IPOPT-m),$(MODULES_DIR)/kernel/net/$(mod).$(LINUX_KMOD_SUFFIX))
166 endef
167 $(eval $(call KernelPackage,ipt-ipopt))
168
169
170 define KernelPackage/ipt-ipsec
171 TITLE:=Modules for matching IPSec packets
172 DESCRIPTION:=Netfilter (IPv4) modules for matching IPSec packets \\\
173 Includes: \\\
174 * ipt_ah \\\
175 * ipt_esp
176 SUBMENU:=$(NFMENU)
177 FILES:=$(foreach mod,$(IPT_IPSEC-m),$(MODULES_DIR)/kernel/net/$(mod).$(LINUX_KMOD_SUFFIX))
178 endef
179 $(eval $(call KernelPackage,ipt-ipsec))
180
181
182 define KernelPackage/ipt-nat
183 TITLE:=Modules for extra NAT targets
184 DESCRIPTION:=Netfilter (IPv4) modules for extra NAT targets \\\
185 Includes: \\\
186 * ipt_REDIRECT \\\
187 * ipt_NETMAP
188 SUBMENU:=$(NFMENU)
189 FILES:=$(foreach mod,$(IPT_NAT-m),$(MODULES_DIR)/kernel/net/$(mod).$(LINUX_KMOD_SUFFIX))
190 endef
191 $(eval $(call KernelPackage,ipt-nat))
192
193 define KernelPackage/ipt-nathelper
194 TITLE:=Extra Conntrack and NAT helpers
195 DESCRIPTION:=Extra Conntrack and NAT helpers (IPv4) \\\
196 Includes: \\\
197 * ip_conntrack_amanda \\\
198 * ip_conntrack_proto_gre \\\
199 * ip_nat_proto_gre \\\
200 * ip_conntrack_pptp \\\
201 * ip_nat_pptp \\\
202 * ip_conntrack_sip \\\
203 * ip_nat_sip \\\
204 * ip_nat_snmp_basic \\\
205 * ip_conntrack_tftp
206 SUBMENU:=$(NFMENU)
207 FILES:=$(foreach mod,$(IPT_NAT_EXTRA-m),$(MODULES_DIR)/kernel/net/$(mod).$(LINUX_KMOD_SUFFIX))
208 endef
209 $(eval $(call KernelPackage,ipt-nathelper))
210
211 define KernelPackage/ipt-imq
212 TITLE:=Intermediate Queueing support
213 DESCRIPTION:=Kernel support for Intermediate Queueing devices
214 KCONFIG:=$(CONFIG_IP_NF_TARGET_IMQ)
215 SUBMENU:=$(NFMENU)
216 FILES:=$(MODULES_DIR)/kernel/net/ipv4/netfilter/*IMQ*.$(LINUX_KMOD_SUFFIX) $(MODULES_DIR)/kernel/drivers/net/imq.$(LINUX_KMOD_SUFFIX)
217 endef
218 $(eval $(call KernelPackage,ipt-imq))
219
220
221 define KernelPackage/ipt-queue
222 TITLE:=Module for user-space packet queueing
223 DESCRIPTION:=Netfilter (IPv4) module for user-space packet queueing \\\
224 Includes: \\\
225 * ipt_QUEUE
226 SUBMENU:=$(NFMENU)
227 FILES:=$(foreach mod,$(IPT_QUEUE-m),$(MODULES_DIR)/kernel/net/$(mod).$(LINUX_KMOD_SUFFIX))
228 endef
229 $(eval $(call KernelPackage,ipt-queue))
230
231 define KernelPackage/ipt-ulog
232 TITLE:=Module for user-space packet logging
233 DESCRIPTION:=Netfilter (IPv4) module for user-space packet logging \\\
234 Includes: \\\
235 * ipt_ULOG
236 SUBMENU:=$(NFMENU)
237 FILES:=$(foreach mod,$(IPT_ULOG-m),$(MODULES_DIR)/kernel/net/$(mod).$(LINUX_KMOD_SUFFIX))
238 endef
239 $(eval $(call KernelPackage,ipt-ulog))
240
241 define KernelPackage/ipt-extra
242 TITLE:=Extra modules
243 DESCRIPTION:=Other Netfilter (IPv4) kernel modules\\\
244 Includes: \\\
245 * ipt_limit \\\
246 * ipt_owner \\\
247 * ipt_physdev \\\
248 * ipt_pkttype \\\
249 * ipt_recent
250 SUBMENU:=$(NFMENU)
251 FILES:=$(foreach mod,$(IPT_EXTRA-m),$(MODULES_DIR)/kernel/net/$(mod).$(LINUX_KMOD_SUFFIX))
252 endef
253 $(eval $(call KernelPackage,ipt-extra))
254
255 define KernelPackage/ip6tables
256 TITLE:=IPv6 modules
257 DESCRIPTION:=Netfilter IPv6 firewalling support
258 SUBMENU:=$(NFMENU)
259 KCONFIG:=$(CONFIG_IP6_NF_IPTABLES)
260 FILES:=$(MODULES_DIR)/kernel/net/ipv6/netfilter/ip*.$(LINUX_KMOD_SUFFIX)
261 endef
262 $(eval $(call KernelPackage,ip6tables))
263
264
265 define KernelPackage/arptables
266 TITLE:=ARP firewalling modules
267 DESCRIPTION:=Kernel modules for ARP firewalling
268 SUBMENU:=$(NFMENU)
269 FILES:=$(MODULES_DIR)/kernel/net/ipv4/netfilter/arp*.$(LINUX_KMOD_SUFFIX)
270 KCONFIG:=$(CONFIG_IP_NF_ARPTABLES)
271 endef
272 $(eval $(call KernelPackage,arptables))
273
274
275 define KernelPackage/ebtables
276 TITLE:=Bridge firewalling modules
277 DESCRIPTION:=Kernel modules for Ethernet Bridge firewalling
278 SUBMENU:=$(NFMENU)
279 FILES:=$(MODULES_DIR)/kernel/net/bridge/netfilter/*.$(LINUX_KMOD_SUFFIX)
280 KCONFIG:=$(CONFIG_BRIDGE_NF_EBTABLES)
281 endef
282 $(eval $(call KernelPackage,ebtables))
283
284
285 define KernelPackage/ppp
286 TITLE:=PPP modules
287 DESCRIPTION:=Kernel modules for PPP support
288 KCONFIG:=$(CONFIG_PPP)
289 endef
290
291 define KernelPackage/ppp/2.6
292 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
293 AUTOLOAD:=$(call AutoLoad,30,crc-ccitt)
294 endef
295
296 define KernelPackage/ppp/2.4
297 FILES:=$(MODULES_DIR)/kernel/drivers/net/ppp_async.o $(MODULES_DIR)/kernel/drivers/net/ppp_generic.o $(MODULES_DIR)/kernel/drivers/net/slhc.o
298 endef
299 $(eval $(call KernelPackage,ppp))
300
301 define KernelPackage/pppoe
302 TITLE:=PPPoE modules
303 DESCRIPTION:=Kernel modules for PPP over Ethernet support
304 DEPENDS:=kmod-ppp
305 KCONFIG:=$(CONFIG_PPPOE)
306 FILES:=$(MODULES_DIR)/kernel/drivers/net/pppoe.$(LINUX_KMOD_SUFFIX) $(MODULES_DIR)/kernel/drivers/net/pppox.$(LINUX_KMOD_SUFFIX)
307 endef
308 $(eval $(call KernelPackage,pppoe))
309
310 define KernelPackage/pppoa
311 TITLE:=PPPoA modules
312 DESCRIPTION:=Kernel modules for PPP over ATM support
313 DEPENDS:=kmod-ppp
314 KCONFIG:=$(CONFIG_PPPOATM)
315 FILES:=$(MODULES_DIR)/kernel/net/atm/pppoatm.$(LINUX_KMOD_SUFFIX)
316 endef
317 $(eval $(call KernelPackage,pppoa))
318
319
320 define KernelPackage/mppe
321 TITLE:=Microsoft PPP compression/encryption
322 DESCRIPTION:=Kernel modules for Microsoft PPP compression/encryption
323 DEPENDS:=kmod-ppp
324 KCONFIG:=$(CONFIG_PPP_MPPE)
325 endef
326
327 define KernelPackage/mppe/2.4
328 FILES:=$(MODULES_DIR)/kernel/drivers/net/ppp_mppe_mppc.$(LINUX_KMOD_SUFFIX)
329 endef
330
331 define KernelPackage/mppe/2.6
332 FILES:=$(MODULES_DIR)/kernel/drivers/net/ppp_mppe.$(LINUX_KMOD_SUFFIX)
333 endef
334 $(eval $(call KernelPackage,mppe))
335
336
337
338 NDMENU:=Network Devices
339
340
341 define KernelPackage/natsemi
342 TITLE:=National Semiconductor DP8381x series
343 DESCRIPTION:=National Semiconductor DP8381x series PCI Ethernet kernel support
344 SUBMENU:=$(NDMENU)
345 FILES:=$(MODULES_DIR)/kernel/drivers/net/natsemi.$(LINUX_KMOD_SUFFIX)
346 KCONFIG:=$(CONFIG_NATSEMI)
347 DEPENDS:=@LINUX_2_6_X86||LINUX_2_4_X86
348 endef
349 $(eval $(call KernelPackage,natsemi))
350
351 define KernelPackage/sis900
352 TITLE:=SiS 900 Ethernet support
353 DESCRIPTION:=Sis 900 kernel ethernet support
354 SUBMENU:=$(NDMENU)
355 FILES:=$(MODULES_DIR)/kernel/drivers/net/sis900.$(LINUX_KMOD_SUFFIX)
356 KCONFIG:=$(CONFIG_SIS900)
357 DEPENDS:=@LINUX_2_6_X86||LINUX_2_4_X86
358 endef
359 $(eval $(call KernelPackage,sis900))
360
361
362 define KernelPackage/via-rhine
363 TITLE:=Via Rhine ethernet support
364 DESCRIPTION:=Kernel modules for Via Rhine ethernet chipsets
365 SUBMENU:=$(NDMENU)
366 FILES:=$(MODULES_DIR)/kernel/drivers/net/via-rhine.$(LINUX_KMOD_SUFFIX)
367 KCONFIG:=$(CONFIG_VIA_RHINE)
368 DEPENDS:=@LINUX_2_6_X86||LINUX_2_4_X86
369 endef
370 $(eval $(call KernelPackage,via-rhine))
371
372 define KernelPackage/8139too
373 TITLE:=RealTek RTL-8139 PCI Fast Ethernet Adapter kernel support
374 DESCRIPTION:=Kernel modules for RealTek RTL-8139 PCI Fast Ethernet Adapter kernel support
375 SUBMENU:=$(NDMENU)
376 FILES:=$(MODULES_DIR)/kernel/drivers/net/8139too.$(LINUX_KMOD_SUFFIX)
377 KCONFIG:=$(CONFIG_8139TOO)
378 DEPENDS:=@LINUX_2_6_X86||LINUX_2_4_X86
379 endef
380 $(eval $(call KernelPackage,8139too))
381
382 define KernelPackage/e100
383 TITLE:=Intel(R) PRO/100+ cards kernel support
384 DESCRIPTION:=Kernel modules for Intel(R) PRO/100+ cards kernel support
385 SUBMENU:=$(NDMENU)
386 FILES:=$(MODULES_DIR)/kernel/drivers/net/e100.$(LINUX_KMOD_SUFFIX)
387 KCONFIG:=$(CONFIG_E100)
388 DEPENDS:=@LINUX_2_6_X86||LINUX_2_4_X86
389 endef
390 $(eval $(call KernelPackage,e100))
391
392 define KernelPackage/3c59x
393 TITLE:=3Com 3c590/3c900 series (592/595/597) Vortex/Boomerang
394 DESCRIPTION:= \
395 This option enables driver support for a large number of 10mbps and \
396 10/100mbps EISA, PCI and PCMCIA 3Com network cards: \
397 \
398 * "Vortex" (Fast EtherLink 3c590/3c592/3c595/3c597) EISA and PCI \
399 * "Boomerang" (EtherLink XL 3c900 or 3c905) PCI \
400 * "Cyclone" (3c540/3c900/3c905/3c980/3c575/3c656) PCI and Cardbus \
401 * "Tornado" (3c905) PCI \
402 * "Hurricane" (3c555/3cSOHO) PCI
403 SUBMENU:=$(NDMENU)
404 FILES:=$(MODULES_DIR)/kernel/drivers/net/3c59x.$(LINUX_KMOD_SUFFIX)
405 KCONFIG:=$(CONFIG_3C59X)
406 DEPENDS:=@LINUX_2_6_X86||LINUX_2_4_X86
407 endef
408 $(eval $(call KernelPackage,3c59x))
409
410
411