kernel/modules: fix kmod-mdio-gpio module dependencies
[oweals/openwrt.git] / package / kernel / linux / modules / netdevices.mk
1 #
2 # Copyright (C) 2006-2011 OpenWrt.org
3 #
4 # This is free software, licensed under the GNU General Public License v2.
5 # See /LICENSE for more information.
6 #
7
8 NETWORK_DEVICES_MENU:=Network Devices
9
10 define KernelPackage/sis190
11   SUBMENU:=$(NETWORK_DEVICES_MENU)
12   TITLE:=SiS 190 Fast/Gigabit Ethernet support
13   DEPENDS:=@PCI_SUPPORT +kmod-mii
14   KCONFIG:=CONFIG_SIS190
15   FILES:=$(LINUX_DIR)/drivers/net/ethernet/sis/sis190.ko
16   AUTOLOAD:=$(call AutoProbe,sis190)
17 endef
18
19 $(eval $(call KernelPackage,sis190))
20
21
22 define KernelPackage/skge
23   SUBMENU:=$(NETWORK_DEVICES_MENU)
24   TITLE:=SysKonnect Yukon support
25   DEPENDS:=@PCI_SUPPORT
26   KCONFIG:=CONFIG_SKGE \
27         CONFIG_SKGE_DEBUG=n \
28         CONFIG_SKGE_GENESIS=n
29   FILES:=$(LINUX_DIR)/drivers/net/ethernet/marvell/skge.ko
30   AUTOLOAD:=$(call AutoProbe,skge)
31 endef
32
33 $(eval $(call KernelPackage,skge))
34
35
36 define KernelPackage/atl2
37   SUBMENU:=$(NETWORK_DEVICES_MENU)
38   TITLE:=Atheros L2 Fast Ethernet support
39   DEPENDS:=@PCI_SUPPORT
40   KCONFIG:=CONFIG_ATL2
41   FILES:=$(LINUX_DIR)/drivers/net/ethernet/atheros/atlx/atl2.ko
42   AUTOLOAD:=$(call AutoProbe,atl2)
43 endef
44
45 $(eval $(call KernelPackage,atl2))
46
47
48 define KernelPackage/atl1
49   SUBMENU:=$(NETWORK_DEVICES_MENU)
50   TITLE:=Atheros L1 Gigabit Ethernet support
51   DEPENDS:=@PCI_SUPPORT +kmod-mii
52   KCONFIG:=CONFIG_ATL1
53   FILES:=$(LINUX_DIR)/drivers/net/ethernet/atheros/atlx/atl1.ko
54   AUTOLOAD:=$(call AutoProbe,atl1)
55 endef
56
57 $(eval $(call KernelPackage,atl1))
58
59
60 define KernelPackage/atl1c
61   SUBMENU:=$(NETWORK_DEVICES_MENU)
62   TITLE:=Atheros L1C
63   DEPENDS:=@PCI_SUPPORT
64   KCONFIG:=CONFIG_ATL1C
65   FILES:=$(LINUX_DIR)/drivers/net/ethernet/atheros/atl1c/atl1c.ko
66   AUTOLOAD:=$(call AutoProbe,atl1c)
67 endef
68
69 $(eval $(call KernelPackage,atl1c))
70
71
72 define KernelPackage/atl1e
73   SUBMENU:=$(NETWORK_DEVICES_MENU)
74   TITLE:=Atheros L1E
75   DEPENDS:=@PCI_SUPPORT
76   KCONFIG:=CONFIG_ATL1E
77   FILES:=$(LINUX_DIR)/drivers/net/ethernet/atheros/atl1e/atl1e.ko
78   AUTOLOAD:=$(call AutoProbe,atl1e)
79 endef
80
81 $(eval $(call KernelPackage,atl1e))
82
83
84 define KernelPackage/libphy
85   SUBMENU:=$(NETWORK_DEVICES_MENU)
86   TITLE:=PHY library
87   KCONFIG:=CONFIG_PHYLIB
88   FILES:=$(LINUX_DIR)/drivers/net/phy/libphy.ko
89   AUTOLOAD:=$(call AutoLoad,15,libphy,1)
90 endef
91
92 define KernelPackage/libphy/description
93  PHY library
94 endef
95
96 $(eval $(call KernelPackage,libphy))
97
98 define KernelPackage/mii
99   SUBMENU:=$(NETWORK_DEVICES_MENU)
100   TITLE:=MII library
101   KCONFIG:=CONFIG_MII
102   FILES:=$(LINUX_DIR)/drivers/net/mii.ko
103   AUTOLOAD:=$(call AutoLoad,15,mii,1)
104 endef
105
106 define KernelPackage/mii/description
107   MII library
108 endef
109
110 $(eval $(call KernelPackage,mii))
111
112
113 define KernelPackage/mdio-gpio
114   SUBMENU:=$(NETWORK_DEVICES_MENU)
115   TITLE:= Supports GPIO lib-based MDIO busses
116   DEPENDS:=+kmod-libphy @GPIO_SUPPORT +(TARGET_armvirt||TARGET_brcm2708_bcm2708):kmod-of-mdio
117   KCONFIG:= \
118         CONFIG_MDIO_BITBANG \
119         CONFIG_MDIO_GPIO
120   FILES:= \
121         $(LINUX_DIR)/drivers/net/phy/mdio-gpio.ko \
122         $(LINUX_DIR)/drivers/net/phy/mdio-bitbang.ko
123   AUTOLOAD:=$(call AutoProbe,mdio-gpio)
124 endef
125
126 define KernelPackage/mdio-gpio/description
127  Supports GPIO lib-based MDIO busses
128 endef
129
130 $(eval $(call KernelPackage,mdio-gpio))
131
132
133 define KernelPackage/et131x
134   SUBMENU:=$(NETWORK_DEVICES_MENU)
135   TITLE:=Agere ET131x Gigabit Ethernet driver
136   URL:=http://sourceforge.net/projects/et131x
137   FILES:= \
138         $(LINUX_DIR)/drivers/net/ethernet/agere/et131x.ko
139   KCONFIG:= \
140         CONFIG_ET131X \
141         CONFIG_ET131X_DEBUG=n
142   DEPENDS:=@PCI_SUPPORT +kmod-libphy
143   AUTOLOAD:=$(call AutoProbe,et131x)
144 endef
145
146 define KernelPackage/et131x/description
147  This package contains the et131x kernel module
148 endef
149
150 $(eval $(call KernelPackage,et131x))
151
152
153 define KernelPackage/phylib-broadcom
154    SUBMENU:=$(NETWORK_DEVICES_MENU)
155    TITLE:=Broadcom Ethernet PHY library
156    KCONFIG:=CONFIG_BCM_NET_PHYLIB
157    HIDDEN:=1
158    DEPENDS:=+kmod-libphy
159    FILES:=$(LINUX_DIR)/drivers/net/phy/bcm-phy-lib.ko
160    AUTOLOAD:=$(call AutoLoad,17,bcm-phy-lib)
161 endef
162
163 $(eval $(call KernelPackage,phylib-broadcom))
164
165
166 define KernelPackage/phy-broadcom
167    SUBMENU:=$(NETWORK_DEVICES_MENU)
168    TITLE:=Broadcom Ethernet PHY driver
169    KCONFIG:=CONFIG_BROADCOM_PHY
170    DEPENDS:=+kmod-libphy +kmod-phylib-broadcom
171    FILES:=$(LINUX_DIR)/drivers/net/phy/broadcom.ko
172    AUTOLOAD:=$(call AutoLoad,18,broadcom)
173 endef
174
175 define KernelPackage/phy-broadcom/description
176    Currently supports the BCM5411, BCM5421, BCM5461, BCM5464, BCM5481,
177    BCM5482 and BCM57780 PHYs.
178 endef
179
180 $(eval $(call KernelPackage,phy-broadcom))
181
182
183 define KernelPackage/swconfig
184   SUBMENU:=$(NETWORK_DEVICES_MENU)
185   TITLE:=switch configuration API
186   DEPENDS:=+kmod-libphy
187   KCONFIG:=CONFIG_SWCONFIG
188   FILES:=$(LINUX_DIR)/drivers/net/phy/swconfig.ko
189   AUTOLOAD:=$(call AutoLoad,41,swconfig)
190 endef
191
192 define KernelPackage/swconfig/description
193  Switch configuration API module
194 endef
195
196 $(eval $(call KernelPackage,swconfig))
197
198 define KernelPackage/switch-mvsw61xx
199   SUBMENU:=$(NETWORK_DEVICES_MENU)
200   TITLE:=Marvell 88E61xx switch support
201   DEPENDS:=+kmod-swconfig
202   KCONFIG:=CONFIG_MVSW61XX_PHY
203   FILES:=$(LINUX_DIR)/drivers/net/phy/mvsw61xx.ko
204   AUTOLOAD:=$(call AutoLoad,42,mvsw61xx)
205 endef
206
207 define KernelPackage/switch-mvsw61xx/description
208  Marvell 88E61xx switch support
209 endef
210
211 $(eval $(call KernelPackage,switch-mvsw61xx))
212
213 define KernelPackage/switch-ip17xx
214   SUBMENU:=$(NETWORK_DEVICES_MENU)
215   TITLE:=IC+ IP17XX switch support
216   DEPENDS:=+kmod-swconfig
217   KCONFIG:=CONFIG_IP17XX_PHY
218   FILES:=$(LINUX_DIR)/drivers/net/phy/ip17xx.ko
219   AUTOLOAD:=$(call AutoLoad,42,ip17xx)
220 endef
221
222 define KernelPackage/switch-ip17xx/description
223  IC+ IP175C/IP178C switch support
224 endef
225
226 $(eval $(call KernelPackage,switch-ip17xx))
227
228
229 define KernelPackage/switch-rtl8306
230   SUBMENU:=$(NETWORK_DEVICES_MENU)
231   TITLE:=Realtek RTL8306S switch support
232   DEPENDS:=+kmod-swconfig
233   KCONFIG:=CONFIG_RTL8306_PHY
234   FILES:=$(LINUX_DIR)/drivers/net/phy/rtl8306.ko
235   AUTOLOAD:=$(call AutoLoad,43,rtl8306)
236 endef
237
238 define KernelPackage/switch-rtl8306/description
239  Realtek RTL8306S switch support
240 endef
241
242 $(eval $(call KernelPackage,switch-rtl8306))
243
244
245 define KernelPackage/switch-rtl8366-smi
246   SUBMENU:=$(NETWORK_DEVICES_MENU)
247   TITLE:=Realtek RTL8366 SMI switch interface support
248   DEPENDS:=@GPIO_SUPPORT +kmod-swconfig +(TARGET_armvirt||TARGET_brcm2708_bcm2708):kmod-of-mdio
249   KCONFIG:=CONFIG_RTL8366_SMI
250   FILES:=$(LINUX_DIR)/drivers/net/phy/rtl8366_smi.ko
251   AUTOLOAD:=$(call AutoLoad,42,rtl8366_smi)
252 endef
253
254 define KernelPackage/switch-rtl8366_smi/description
255   Realtek RTL8366 series SMI switch interface support
256 endef
257
258 $(eval $(call KernelPackage,switch-rtl8366-smi))
259
260
261 define KernelPackage/switch-rtl8366rb
262   SUBMENU:=$(NETWORK_DEVICES_MENU)
263   TITLE:=Realtek RTL8366RB switch support
264   DEPENDS:=+kmod-switch-rtl8366-smi
265   KCONFIG:=CONFIG_RTL8366RB_PHY
266   FILES:=$(LINUX_DIR)/drivers/net/phy/rtl8366rb.ko
267   AUTOLOAD:=$(call AutoLoad,43,rtl8366rb)
268 endef
269
270 define KernelPackage/switch-rtl8366rb/description
271  Realtek RTL8366RB switch support
272 endef
273
274 $(eval $(call KernelPackage,switch-rtl8366rb))
275
276
277 define KernelPackage/switch-rtl8366s
278   SUBMENU:=$(NETWORK_DEVICES_MENU)
279   TITLE:=Realtek RTL8366S switch support
280   DEPENDS:=+kmod-switch-rtl8366-smi
281   KCONFIG:=CONFIG_RTL8366S_PHY
282   FILES:=$(LINUX_DIR)/drivers/net/phy/rtl8366s.ko
283   AUTOLOAD:=$(call AutoLoad,43,rtl8366s)
284 endef
285
286 define KernelPackage/switch-rtl8366s/description
287  Realtek RTL8366S switch support
288 endef
289
290 $(eval $(call KernelPackage,switch-rtl8366s))
291
292
293 define KernelPackage/switch-rtl8367b
294   SUBMENU:=$(NETWORK_DEVICES_MENU)
295   TITLE:=Realtek RTL8367R/B switch support
296   DEPENDS:=+kmod-switch-rtl8366-smi
297   KCONFIG:=CONFIG_RTL8367B_PHY
298   FILES:=$(LINUX_DIR)/drivers/net/phy/rtl8367b.ko
299   AUTOLOAD:=$(call AutoLoad,43,rtl8367b)
300 endef
301
302 define KernelPackage/switch-rtl8367b/description
303  Realtek RTL8367R/B switch support
304 endef
305
306 $(eval $(call KernelPackage,switch-rtl8367b))
307
308
309 define KernelPackage/natsemi
310   SUBMENU:=$(NETWORK_DEVICES_MENU)
311   TITLE:=National Semiconductor DP8381x series
312   DEPENDS:=@PCI_SUPPORT
313   KCONFIG:=CONFIG_NATSEMI
314   FILES:=$(LINUX_DIR)/drivers/net/ethernet/natsemi/natsemi.ko
315   AUTOLOAD:=$(call AutoLoad,20,natsemi)
316 endef
317
318 define KernelPackage/natsemi/description
319  Kernel modules for National Semiconductor DP8381x series PCI Ethernet
320  adapters.
321 endef
322
323 $(eval $(call KernelPackage,natsemi))
324
325
326 define KernelPackage/r6040
327   SUBMENU:=$(NETWORK_DEVICES_MENU)
328   TITLE:=RDC Fast-Ethernet support
329   DEPENDS:=@PCI_SUPPORT +kmod-libphy
330   KCONFIG:=CONFIG_R6040 \
331                 CONFIG_R6040_NAPI=y
332   FILES:=$(LINUX_DIR)/drivers/net/ethernet/rdc/r6040.ko
333   AUTOLOAD:=$(call AutoProbe,r6040)
334 endef
335
336 define KernelPackage/r6040/description
337  Kernel modules for RDC Fast-Ethernet adapters.
338 endef
339
340 $(eval $(call KernelPackage,r6040))
341
342
343 define KernelPackage/niu
344   SUBMENU:=$(NETWORK_DEVICES_MENU)
345   TITLE:=Sun Neptune 10Gbit Ethernet support
346   DEPENDS:=@PCI_SUPPORT
347   KCONFIG:=CONFIG_NIU
348   FILES:=$(LINUX_DIR)/drivers/net/ethernet/sun/niu.ko
349   AUTOLOAD:=$(call AutoProbe,niu)
350 endef
351
352 define KernelPackage/niu/description
353  This enables support for cards based upon Sun's Neptune chipset.
354 endef
355
356 $(eval $(call KernelPackage,niu))
357
358
359 define KernelPackage/sis900
360   SUBMENU:=$(NETWORK_DEVICES_MENU)
361   TITLE:=SiS 900 Ethernet support
362   DEPENDS:=@PCI_SUPPORT +kmod-mii
363   KCONFIG:=CONFIG_SIS900
364   FILES:=$(LINUX_DIR)/drivers/net/ethernet/sis/sis900.ko
365   AUTOLOAD:=$(call AutoProbe,sis900)
366 endef
367
368 define KernelPackage/sis900/description
369  Kernel modules for Sis 900 Ethernet adapters.
370 endef
371
372 $(eval $(call KernelPackage,sis900))
373
374
375 define KernelPackage/sky2
376   SUBMENU:=$(NETWORK_DEVICES_MENU)
377   TITLE:=SysKonnect Yukon2 support
378   DEPENDS:=@PCI_SUPPORT
379   KCONFIG:=CONFIG_SKY2
380   FILES:=$(LINUX_DIR)/drivers/net/ethernet/marvell/sky2.ko
381   AUTOLOAD:=$(call AutoProbe,sky2)
382 endef
383
384 define KernelPackage/sky2/description
385   This driver supports Gigabit Ethernet adapters based on the
386   Marvell Yukon 2 chipset:
387   Marvell 88E8021/88E8022/88E8035/88E8036/88E8038/88E8050/88E8052/
388   88E8053/88E8055/88E8061/88E8062, SysKonnect SK-9E21D/SK-9S21
389
390   There is companion driver for the older Marvell Yukon and
391   Genesis based adapters: skge.
392 endef
393
394 $(eval $(call KernelPackage,sky2))
395
396
397 define KernelPackage/via-rhine
398   SUBMENU:=$(NETWORK_DEVICES_MENU)
399   TITLE:=Via Rhine ethernet support
400   DEPENDS:=@PCI_SUPPORT +kmod-mii
401   KCONFIG:=CONFIG_VIA_RHINE \
402     CONFIG_VIA_RHINE_MMIO=y
403   FILES:=$(LINUX_DIR)/drivers/net/ethernet/via/via-rhine.ko
404   AUTOLOAD:=$(call AutoProbe,via-rhine)
405 endef
406
407 define KernelPackage/via-rhine/description
408  Kernel modules for Via Rhine Ethernet chipsets
409 endef
410
411 $(eval $(call KernelPackage,via-rhine))
412
413
414 define KernelPackage/via-velocity
415   SUBMENU:=$(NETWORK_DEVICES_MENU)
416   TITLE:=VIA Velocity Gigabit Ethernet Adapter kernel support
417   DEPENDS:=@PCI_SUPPORT +kmod-lib-crc-ccitt
418   KCONFIG:=CONFIG_VIA_VELOCITY
419   FILES:=$(LINUX_DIR)/drivers/net/ethernet/via/via-velocity.ko
420   AUTOLOAD:=$(call AutoProbe,via-velocity)
421 endef
422
423 define KernelPackage/via-velocity/description
424  Kernel modules for VIA Velocity Gigabit Ethernet chipsets
425 endef
426
427 $(eval $(call KernelPackage,via-velocity))
428
429
430 define KernelPackage/8139too
431   SUBMENU:=$(NETWORK_DEVICES_MENU)
432   TITLE:=RealTek RTL-8139 PCI Fast Ethernet Adapter kernel support
433   DEPENDS:=@PCI_SUPPORT +kmod-mii
434   KCONFIG:=CONFIG_8139TOO \
435     CONFIG_8139TOO_PIO=y \
436     CONFIG_8139TOO_TUNE_TWISTER=n \
437     CONFIG_8139TOO_8129=n \
438     CONFIG_8139_OLD_RX_RESET=n
439   FILES:=$(LINUX_DIR)/drivers/net/ethernet/realtek/8139too.ko
440   AUTOLOAD:=$(call AutoProbe,8139too)
441 endef
442
443 define KernelPackage/8139too/description
444  Kernel modules for RealTek RTL-8139 PCI Fast Ethernet adapters
445 endef
446
447 $(eval $(call KernelPackage,8139too))
448
449
450 define KernelPackage/8139cp
451   SUBMENU:=$(NETWORK_DEVICES_MENU)
452   TITLE:=RealTek RTL-8139C+ PCI Fast Ethernet Adapter kernel support
453   DEPENDS:=@PCI_SUPPORT +kmod-mii
454   KCONFIG:=CONFIG_8139CP
455   FILES:=$(LINUX_DIR)/drivers/net/ethernet/realtek/8139cp.ko
456   AUTOLOAD:=$(call AutoProbe,8139cp)
457 endef
458
459 define KernelPackage/8139cp/description
460  Kernel module for RealTek RTL-8139C+ PCI Fast Ethernet adapters
461 endef
462
463 $(eval $(call KernelPackage,8139cp))
464
465
466 define KernelPackage/r8169
467   SUBMENU:=$(NETWORK_DEVICES_MENU)
468   TITLE:=RealTek RTL-8169 PCI Gigabit Ethernet Adapter kernel support
469   DEPENDS:=@PCI_SUPPORT +kmod-mii +r8169-firmware
470   KCONFIG:=CONFIG_R8169 \
471     CONFIG_R8169_NAPI=y \
472     CONFIG_R8169_VLAN=n
473   FILES:=$(LINUX_DIR)/drivers/net/ethernet/realtek/r8169.ko
474   AUTOLOAD:=$(call AutoProbe,r8169)
475 endef
476
477 define KernelPackage/r8169/description
478  Kernel modules for RealTek RTL-8169 PCI Gigabit Ethernet adapters
479 endef
480
481 $(eval $(call KernelPackage,r8169))
482
483
484 define KernelPackage/ne2k-pci
485   SUBMENU:=$(NETWORK_DEVICES_MENU)
486   TITLE:=ne2k-pci Ethernet Adapter kernel support
487   DEPENDS:=@PCI_SUPPORT
488   KCONFIG:=CONFIG_NE2K_PCI
489   FILES:= \
490         $(LINUX_DIR)/drivers/net/ethernet/8390/ne2k-pci.ko \
491         $(LINUX_DIR)/drivers/net/ethernet/8390/8390.ko
492   AUTOLOAD:=$(call AutoProbe,8390 ne2k-pci)
493 endef
494
495 define KernelPackage/ne2k-pci/description
496  Kernel modules for NE2000 PCI Ethernet Adapter kernel
497 endef
498
499 $(eval $(call KernelPackage,ne2k-pci))
500
501
502 define KernelPackage/e100
503   SUBMENU:=$(NETWORK_DEVICES_MENU)
504   TITLE:=Intel(R) PRO/100+ cards kernel support
505   DEPENDS:=@PCI_SUPPORT +kmod-mii +e100-firmware
506   KCONFIG:=CONFIG_E100
507   FILES:=$(LINUX_DIR)/drivers/net/ethernet/intel/e100.ko
508   AUTOLOAD:=$(call AutoProbe,e100)
509 endef
510
511 define KernelPackage/e100/description
512  Kernel modules for Intel(R) PRO/100+ Ethernet adapters
513 endef
514
515 $(eval $(call KernelPackage,e100))
516
517
518 define KernelPackage/e1000
519   SUBMENU:=$(NETWORK_DEVICES_MENU)
520   TITLE:=Intel(R) PRO/1000 PCI cards kernel support
521   DEPENDS:=@PCI_SUPPORT
522   KCONFIG:=CONFIG_E1000 \
523     CONFIG_E1000_DISABLE_PACKET_SPLIT=n \
524     CONFIG_E1000_NAPI=y
525   FILES:=$(LINUX_DIR)/drivers/net/ethernet/intel/e1000/e1000.ko
526   AUTOLOAD:=$(call AutoLoad,35,e1000)
527 endef
528
529 define KernelPackage/e1000/description
530  Kernel modules for Intel(R) PRO/1000 PCI Ethernet adapters.
531 endef
532
533 $(eval $(call KernelPackage,e1000))
534
535
536 define KernelPackage/e1000e
537   SUBMENU:=$(NETWORK_DEVICES_MENU)
538   TITLE:=Intel(R) PRO/1000 PCIe cards kernel support
539   DEPENDS:=@PCIE_SUPPORT +kmod-ptp
540   KCONFIG:=CONFIG_E1000E
541   FILES:=$(LINUX_DIR)/drivers/net/ethernet/intel/e1000e/e1000e.ko
542   AUTOLOAD:=$(call AutoProbe,e1000e)
543   MODPARAMS.e1000e:= \
544     IntMode=1 \
545     InterruptThrottleRate=4,4,4,4,4,4,4,4
546 endef
547
548 define KernelPackage/e1000e/description
549  Kernel modules for Intel(R) PRO/1000 PCIe Ethernet adapters.
550 endef
551
552 $(eval $(call KernelPackage,e1000e))
553
554
555 define KernelPackage/igb
556   SUBMENU:=$(NETWORK_DEVICES_MENU)
557   TITLE:=Intel(R) 82575/82576 PCI-Express Gigabit Ethernet support
558   DEPENDS:=@PCI_SUPPORT +kmod-i2c-core +kmod-i2c-algo-bit +kmod-ptp +kmod-hwmon-core
559   KCONFIG:=CONFIG_IGB \
560     CONFIG_IGB_HWMON=y \
561     CONFIG_IGB_DCA=n
562   FILES:=$(LINUX_DIR)/drivers/net/ethernet/intel/igb/igb.ko
563   AUTOLOAD:=$(call AutoLoad,35,igb)
564 endef
565
566 define KernelPackage/igb/description
567  Kernel modules for Intel(R) 82575/82576 PCI-Express Gigabit Ethernet adapters.
568 endef
569
570 $(eval $(call KernelPackage,igb))
571
572
573 define KernelPackage/igbvf
574   SUBMENU:=$(NETWORK_DEVICES_MENU)
575   TITLE:=Intel(R) 82576 Virtual Function Ethernet support
576   DEPENDS:=@PCI_SUPPORT @TARGET_x86 +kmod-i2c-core +kmod-i2c-algo-bit +kmod-ptp
577   KCONFIG:=CONFIG_IGBVF \
578     CONFIG_IGB_HWMON=y \
579     CONFIG_IGB_DCA=n
580   FILES:=$(LINUX_DIR)/drivers/net/ethernet/intel/igbvf/igbvf.ko
581   AUTOLOAD:=$(call AutoLoad,35,igbvf)
582 endef
583
584 define KernelPackage/igbvf/description
585  Kernel modules for Intel(R) 82576 Virtual Function Ethernet adapters.
586 endef
587
588 $(eval $(call KernelPackage,igbvf))
589
590
591 define KernelPackage/ixgbe
592   SUBMENU:=$(NETWORK_DEVICES_MENU)
593   TITLE:=Intel(R) 82598/82599 PCI-Express 10 Gigabit Ethernet support
594   DEPENDS:=@PCI_SUPPORT +kmod-mdio +kmod-ptp +kmod-hwmon-core
595   KCONFIG:=CONFIG_IXGBE \
596     CONFIG_IXGBE_VXLAN=n \
597     CONFIG_IXGBE_HWMON=y \
598     CONFIG_IXGBE_DCA=n
599   FILES:=$(LINUX_DIR)/drivers/net/ethernet/intel/ixgbe/ixgbe.ko
600   AUTOLOAD:=$(call AutoLoad,35,ixgbe)
601 endef
602
603 define KernelPackage/ixgbe/description
604  Kernel modules for Intel(R) 82598/82599 PCI-Express 10 Gigabit Ethernet adapters.
605 endef
606
607 $(eval $(call KernelPackage,ixgbe))
608
609
610 define KernelPackage/ixgbevf
611   SUBMENU:=$(NETWORK_DEVICES_MENU)
612   TITLE:=Intel(R) 82599 Virtual Function Ethernet support
613   DEPENDS:=@PCI_SUPPORT +kmod-ixgbe
614   KCONFIG:=CONFIG_IXGBEVF \
615     CONFIG_IXGBE_VXLAN=n \
616     CONFIG_IXGBE_HWMON=y \
617     CONFIG_IXGBE_DCA=n
618   FILES:=$(LINUX_DIR)/drivers/net/ethernet/intel/ixgbevf/ixgbevf.ko
619   AUTOLOAD:=$(call AutoLoad,35,ixgbevf)
620 endef
621
622 define KernelPackage/ixgbevf/description
623  Kernel modules for Intel(R) 82599 Virtual Function Ethernet adapters.
624 endef
625
626 $(eval $(call KernelPackage,ixgbevf))
627
628
629 define KernelPackage/b44
630   TITLE:=Broadcom 44xx driver
631   KCONFIG:=CONFIG_B44
632   DEPENDS:=@PCI_SUPPORT @!TARGET_brcm47xx_mips74k +!TARGET_brcm47xx:kmod-ssb +kmod-mii +kmod-libphy
633   SUBMENU:=$(NETWORK_DEVICES_MENU)
634   FILES:=$(LINUX_DIR)/drivers/net/ethernet/broadcom/b44.ko
635   AUTOLOAD:=$(call AutoLoad,19,b44,1)
636 endef
637
638 define KernelPackage/b44/description
639  Kernel modules for Broadcom 44xx Ethernet adapters.
640 endef
641
642 $(eval $(call KernelPackage,b44))
643
644
645 define KernelPackage/3c59x
646   SUBMENU:=$(NETWORK_DEVICES_MENU)
647   TITLE:=3Com 3c590/3c900 series (592/595/597) Vortex/Boomerang
648   DEPENDS:=@PCI_SUPPORT +kmod-mii
649   KCONFIG:=CONFIG_VORTEX
650   FILES:=$(LINUX_DIR)/drivers/net/ethernet/3com/3c59x.ko
651   AUTOLOAD:=$(call AutoProbe,3c59x)
652 endef
653
654 define KernelPackage/3c59x/description
655  This option enables driver support for a large number of 10mbps and
656  10/100mbps EISA, PCI and PCMCIA 3Com Ethernet adapters:
657  - "Vortex"    (Fast EtherLink 3c590/3c592/3c595/3c597) EISA and PCI
658  - "Boomerang" (EtherLink XL 3c900 or 3c905)            PCI
659  - "Cyclone"   (3c540/3c900/3c905/3c980/3c575/3c656)    PCI and Cardbus
660  - "Tornado"   (3c905)                                  PCI
661  - "Hurricane" (3c555/3cSOHO)                           PCI
662 endef
663
664 $(eval $(call KernelPackage,3c59x))
665
666
667 define KernelPackage/pcnet32
668   SUBMENU:=$(NETWORK_DEVICES_MENU)
669   TITLE:=AMD PCnet32 PCI support
670   DEPENDS:=@(PCI_SUPPORT||TARGET_malta) +kmod-mii
671   KCONFIG:=CONFIG_PCNET32
672   FILES:=$(LINUX_DIR)/drivers/net/ethernet/amd/pcnet32.ko
673   AUTOLOAD:=$(call AutoProbe,pcnet32)
674 endef
675
676 define KernelPackage/pcnet32/description
677  Kernel modules for AMD PCnet32 Ethernet adapters
678 endef
679
680 $(eval $(call KernelPackage,pcnet32))
681
682
683 define KernelPackage/tg3
684   TITLE:=Broadcom Tigon3 Gigabit Ethernet
685   KCONFIG:=CONFIG_TIGON3 \
686         CONFIG_TIGON3_HWMON=n
687   DEPENDS:=+!TARGET_brcm47xx:kmod-libphy +!LINUX_4_14:kmod-hwmon-core +kmod-ptp
688   SUBMENU:=$(NETWORK_DEVICES_MENU)
689   FILES:=$(LINUX_DIR)/drivers/net/ethernet/broadcom/tg3.ko
690   AUTOLOAD:=$(call AutoLoad,19,tg3,1)
691 endef
692
693 define KernelPackage/tg3/description
694  Kernel modules for Broadcom Tigon3 Gigabit Ethernet adapters
695 endef
696
697 $(eval $(call KernelPackage,tg3))
698
699
700 define KernelPackage/hfcpci
701   TITLE:=HFC PCI cards (single port) support for mISDN
702   KCONFIG:=CONFIG_MISDN_HFCPCI
703   DEPENDS:=+kmod-misdn
704   SUBMENU:=$(NETWORK_DEVICES_MENU)
705   FILES:=$(LINUX_DIR)/drivers/isdn/hardware/mISDN/hfcpci.ko
706   AUTOLOAD:=$(call AutoLoad,31,hfcpci)
707 endef
708
709 define KernelPackage/hfcpci/description
710  Kernel modules for Cologne AG's HFC pci cards (single port)
711  using the mISDN V2 stack
712 endef
713
714 $(eval $(call KernelPackage,hfcpci))
715
716
717 define KernelPackage/hfcmulti
718   TITLE:=HFC multiport cards (HFC-4S/8S/E1) support for mISDN
719   KCONFIG:=CONFIG_MISDN_HFCMULTI
720   DEPENDS:=+kmod-misdn
721   SUBMENU:=$(NETWORK_DEVICES_MENU)
722   FILES:=$(LINUX_DIR)/drivers/isdn/hardware/mISDN/hfcmulti.ko
723   AUTOLOAD:=$(call AutoLoad,31,hfcmulti)
724 endef
725
726 define KernelPackage/hfcmulti/description
727  Kernel modules for Cologne AG's HFC multiport cards (HFC-4S/8S/E1)
728  using the mISDN V2 stack
729 endef
730
731 $(eval $(call KernelPackage,hfcmulti))
732
733
734 define KernelPackage/gigaset
735   SUBMENU:=$(NETWORK_DEVICES_MENU)
736   TITLE:=Siemens Gigaset support for isdn4linux
737   DEPENDS:=@USB_SUPPORT +kmod-isdn4linux +kmod-lib-crc-ccitt +kmod-usb-core
738   URL:=http://gigaset307x.sourceforge.net/
739   KCONFIG:= \
740     CONFIG_ISDN_DRV_GIGASET \
741     CONFIG_GIGASET_BASE \
742     CONFIG_GIGASET_M101 \
743     CONFIG_GIGASET_M105 \
744     CONFIG_GIGASET_UNDOCREQ=y \
745     CONFIG_GIGASET_I4L=y
746   FILES:= \
747     $(LINUX_DIR)/drivers/isdn/gigaset/gigaset.ko \
748     $(LINUX_DIR)/drivers/isdn/gigaset/bas_gigaset.ko \
749     $(LINUX_DIR)/drivers/isdn/gigaset/ser_gigaset.ko \
750     $(LINUX_DIR)/drivers/isdn/gigaset/usb_gigaset.ko
751   AUTOLOAD:=$(call AutoProbe,gigaset bas_gigaset ser_gigaset usb_gigaset)
752 endef
753
754 define KernelPackage/gigaset/description
755  This driver supports the Siemens Gigaset SX205/255 family of
756  ISDN DECT bases, including the predecessors Gigaset 3070/3075
757  and 4170/4175 and their T-Com versions Sinus 45isdn and Sinus
758  721X.
759 endef
760
761 $(eval $(call KernelPackage,gigaset))
762
763
764 define KernelPackage/macvlan
765   SUBMENU:=$(NETWORK_DEVICES_MENU)
766   TITLE:=MAC-VLAN support
767   KCONFIG:=CONFIG_MACVLAN
768   FILES:=$(LINUX_DIR)/drivers/net/macvlan.ko
769   AUTOLOAD:=$(call AutoProbe,macvlan)
770 endef
771
772 define KernelPackage/macvlan/description
773  A kernel module which allows one to create virtual interfaces that
774  map packets to or from specific MAC addresses to a particular interface
775 endef
776
777 $(eval $(call KernelPackage,macvlan))
778
779
780 define KernelPackage/tulip
781   TITLE:=Tulip family network device support
782   DEPENDS:=@PCI_SUPPORT +kmod-mii
783   SUBMENU:=$(NETWORK_DEVICES_MENU)
784   KCONFIG:= \
785     CONFIG_NET_TULIP=y \
786     CONFIG_DE2104X \
787     CONFIG_DE2104X_DSL=0 \
788     CONFIG_TULIP \
789     CONFIG_TULIP_MWI=y \
790     CONFIG_TULIP_MMIO=y \
791     CONFIG_TULIP_NAPI=y \
792     CONFIG_TULIP_NAPI_HW_MITIGATION=y \
793     CONFIG_DE4X5=n \
794     CONFIG_WINBOND_840 \
795     CONFIG_DM9102 \
796     CONFIG_ULI526X
797   FILES:= \
798         $(LINUX_DIR)/drivers/net/ethernet/dec/tulip/tulip.ko \
799         $(LINUX_DIR)/drivers/net/ethernet/dec/tulip/de2104x.ko \
800         $(LINUX_DIR)/drivers/net/ethernet/dec/tulip/dmfe.ko \
801         $(LINUX_DIR)/drivers/net/ethernet/dec/tulip/uli526x.ko \
802         $(LINUX_DIR)/drivers/net/ethernet/dec/tulip/winbond-840.ko
803   AUTOLOAD:=$(call AutoProbe,tulip)
804 endef
805
806 define KernelPackage/tulip/description
807  Kernel modules for the Tulip family of network cards,
808  including DECchip Tulip, DIGITAL EtherWORKS, Winbond W89c840,
809  Davicom DM910x/DM980x and ULi M526x controller support.
810 endef
811
812 $(eval $(call KernelPackage,tulip))
813
814
815 define KernelPackage/solos-pci
816   SUBMENU:=$(NETWORK_DEVICES_MENU)
817   TITLE:=Solos ADSL2+ multiport modem
818   DEPENDS:=@PCI_SUPPORT +kmod-atm
819   KCONFIG:=CONFIG_ATM_SOLOS
820   FILES:=$(LINUX_DIR)/drivers/atm/solos-pci.ko
821   AUTOLOAD:=$(call AutoProbe,solos-pci)
822 endef
823
824 define KernelPackage/solos-pci/description
825  Kernel module for Traverse Technologies' Solos PCI cards
826  and Geos ADSL2+ x86 motherboard
827 endef
828
829 $(eval $(call KernelPackage,solos-pci))
830
831
832 define KernelPackage/dummy
833   SUBMENU:=$(NETWORK_DEVICES_MENU)
834   TITLE:=Dummy network device
835   KCONFIG:=CONFIG_DUMMY
836   FILES:=$(LINUX_DIR)/drivers/net/dummy.ko
837   AUTOLOAD:=$(call AutoLoad,34,dummy)
838 endef
839
840 define KernelPackage/dummy/description
841  The dummy network device
842 endef
843
844 $(eval $(call KernelPackage,dummy))
845
846
847 define KernelPackage/ifb
848   SUBMENU:=$(NETWORK_DEVICES_MENU)
849   TITLE:=Intermediate Functional Block support
850   KCONFIG:= \
851         CONFIG_IFB \
852         CONFIG_NET_CLS=y
853   FILES:=$(LINUX_DIR)/drivers/net/ifb.ko
854   AUTOLOAD:=$(call AutoLoad,34,ifb)
855 endef
856
857 define KernelPackage/ifb/description
858   The Intermediate Functional Block
859 endef
860
861 $(eval $(call KernelPackage,ifb))
862
863
864 define KernelPackage/dm9000
865   SUBMENU:=$(NETWORK_DEVICES_MENU)
866   TITLE:=Davicom 9000 Ethernet support
867   DEPENDS:=+kmod-mii
868   KCONFIG:=CONFIG_DM9000 \
869     CONFIG_DM9000_DEBUGLEVEL=4 \
870     CONFIG_DM9000_FORCE_SIMPLE_PHY_POLL=y
871   FILES:=$(LINUX_DIR)/drivers/net/ethernet/davicom/dm9000.ko
872   AUTOLOAD:=$(call AutoLoad,34,dm9000)
873 endef
874
875 define KernelPackage/dm9000/description
876  Kernel driver for Davicom 9000 Ethernet adapters.
877 endef
878
879 $(eval $(call KernelPackage,dm9000))
880
881
882 define KernelPackage/forcedeth
883   SUBMENU:=$(NETWORK_DEVICES_MENU)
884   TITLE:=nForce Ethernet support
885   DEPENDS:=@PCI_SUPPORT
886   KCONFIG:=CONFIG_FORCEDETH
887   FILES:=$(LINUX_DIR)/drivers/net/ethernet/nvidia/forcedeth.ko
888   AUTOLOAD:=$(call AutoProbe,forcedeth)
889 endef
890
891 define KernelPackage/forcedeth/description
892  Kernel driver for Nvidia Ethernet support
893 endef
894
895 $(eval $(call KernelPackage,forcedeth))
896
897 define KernelPackage/of-mdio
898   SUBMENU:=$(NETWORK_DEVICES_MENU)
899   TITLE:=OpenFirmware MDIO support
900   DEPENDS:=+kmod-libphy
901   KCONFIG:=CONFIG_OF_MDIO
902   FILES:= \
903         $(LINUX_DIR)/drivers/net/phy/fixed_phy.ko@ge4.9 \
904         $(LINUX_DIR)/drivers/of/of_mdio.ko
905   AUTOLOAD:=$(call AutoLoad,41,of_mdio)
906 endef
907
908 define KernelPackage/of-mdio/description
909  Kernel driver for OpenFirmware MDIO support
910 endef
911
912 $(eval $(call KernelPackage,of-mdio))
913
914
915 define KernelPackage/vmxnet3
916   SUBMENU:=$(NETWORK_DEVICES_MENU)
917   TITLE:=VMware VMXNET3 ethernet driver 
918   DEPENDS:=@PCI_SUPPORT
919   KCONFIG:=CONFIG_VMXNET3
920   FILES:=$(LINUX_DIR)/drivers/net/vmxnet3/vmxnet3.ko
921   AUTOLOAD:=$(call AutoLoad,35,vmxnet3)
922 endef
923
924 define KernelPackage/vmxnet3/description
925  Kernel modules for VMware VMXNET3 ethernet adapters.
926 endef
927
928 $(eval $(call KernelPackage,vmxnet3))
929
930
931 define KernelPackage/spi-ks8995
932   SUBMENU:=$(NETWORK_DEVICES_MENU)
933   TITLE:=Micrel/Kendin KS8995 Ethernet switch control
934   FILES:=$(LINUX_DIR)/drivers/net/phy/spi_ks8995.ko
935   KCONFIG:=CONFIG_MICREL_KS8995MA \
936         CONFIG_SPI=y \
937         CONFIG_SPI_MASTER=y
938   AUTOLOAD:=$(call AutoLoad,50,spi_ks8995)
939 endef
940
941 define KernelPackage/spi-ks8995/description
942   Kernel module for Micrel/Kendin KS8995 ethernet switch
943 endef
944
945 $(eval $(call KernelPackage,spi-ks8995))
946
947
948 define KernelPackage/ethoc
949   SUBMENU:=$(NETWORK_DEVICES_MENU)
950   TITLE:=Opencore.org ethoc driver
951   DEPENDS:=+kmod-libphy
952   FILES:=$(LINUX_DIR)/drivers/net/ethernet/ethoc.ko
953   KCONFIG:=CONFIG_ETHOC
954   AUTOLOAD:=$(call AutoProbe,ethoc)
955 endef
956
957 define KernelPackage/ethoc/description
958   Kernel module for the Opencores.org ethernet adapter
959 endef
960
961 $(eval $(call KernelPackage,ethoc))
962
963
964 define KernelPackage/bnx2
965   SUBMENU:=$(NETWORK_DEVICES_MENU)
966   TITLE:=BCM5706/5708/5709/5716 ethernet adapter driver
967   DEPENDS:=@PCI_SUPPORT +bnx2-firmware
968   FILES:=$(LINUX_DIR)/drivers/net/ethernet/broadcom/bnx2.ko
969   KCONFIG:=CONFIG_BNX2
970   AUTOLOAD:=$(call AutoProbe,bnx2)
971 endef
972
973 define KernelPackage/bnx2/description
974   Kernel module for the BCM5706/5708/5709/5716 ethernet adapter
975 endef
976
977 $(eval $(call KernelPackage,bnx2))