kernel/modules: add kmod-mdio-gpio module
[openwrt/staging/wigyori.git] / package / kernel / linux / modules / netdevices.mk
index 4ae2a281601a9d559572fa2adb7c6b12a0192ba9..372cb47c60e2834f9226b7a797f5e4522dfb63e0 100644 (file)
@@ -10,14 +10,15 @@ NETWORK_DEVICES_MENU:=Network Devices
 define KernelPackage/sis190
   SUBMENU:=$(NETWORK_DEVICES_MENU)
   TITLE:=SiS 190 Fast/Gigabit Ethernet support
-  DEPENDS:=@PCI_SUPPORT
+  DEPENDS:=@PCI_SUPPORT +kmod-mii
   KCONFIG:=CONFIG_SIS190
   FILES:=$(LINUX_DIR)/drivers/net/ethernet/sis/sis190.ko
-  AUTOLOAD:=$(call AutoLoad,50,sis190)
+  AUTOLOAD:=$(call AutoProbe,sis190)
 endef
 
 $(eval $(call KernelPackage,sis190))
 
+
 define KernelPackage/skge
   SUBMENU:=$(NETWORK_DEVICES_MENU)
   TITLE:=SysKonnect Yukon support
@@ -26,87 +27,159 @@ define KernelPackage/skge
        CONFIG_SKGE_DEBUG=n \
        CONFIG_SKGE_GENESIS=n
   FILES:=$(LINUX_DIR)/drivers/net/ethernet/marvell/skge.ko
-  AUTOLOAD:=$(call AutoLoad,50,skge)
+  AUTOLOAD:=$(call AutoProbe,skge)
 endef
 
 $(eval $(call KernelPackage,skge))
 
+
 define KernelPackage/atl2
   SUBMENU:=$(NETWORK_DEVICES_MENU)
   TITLE:=Atheros L2 Fast Ethernet support
   DEPENDS:=@PCI_SUPPORT
   KCONFIG:=CONFIG_ATL2
   FILES:=$(LINUX_DIR)/drivers/net/ethernet/atheros/atlx/atl2.ko
-  AUTOLOAD:=$(call AutoLoad,50,atl2)
+  AUTOLOAD:=$(call AutoProbe,atl2)
 endef
 
 $(eval $(call KernelPackage,atl2))
 
+
 define KernelPackage/atl1
   SUBMENU:=$(NETWORK_DEVICES_MENU)
   TITLE:=Atheros L1 Gigabit Ethernet support
-  DEPENDS:=@PCI_SUPPORT
+  DEPENDS:=@PCI_SUPPORT +kmod-mii
   KCONFIG:=CONFIG_ATL1
   FILES:=$(LINUX_DIR)/drivers/net/ethernet/atheros/atlx/atl1.ko
-  AUTOLOAD:=$(call AutoLoad,50,atl1)
+  AUTOLOAD:=$(call AutoProbe,atl1)
 endef
 
 $(eval $(call KernelPackage,atl1))
 
+
 define KernelPackage/atl1c
   SUBMENU:=$(NETWORK_DEVICES_MENU)
   TITLE:=Atheros L1C
   DEPENDS:=@PCI_SUPPORT
   KCONFIG:=CONFIG_ATL1C
   FILES:=$(LINUX_DIR)/drivers/net/ethernet/atheros/atl1c/atl1c.ko
-  AUTOLOAD:=$(call AutoLoad,50,atl1c)
+  AUTOLOAD:=$(call AutoProbe,atl1c)
 endef
 
 $(eval $(call KernelPackage,atl1c))
 
+
 define KernelPackage/atl1e
   SUBMENU:=$(NETWORK_DEVICES_MENU)
   TITLE:=Atheros L1E
   DEPENDS:=@PCI_SUPPORT
   KCONFIG:=CONFIG_ATL1E
   FILES:=$(LINUX_DIR)/drivers/net/ethernet/atheros/atl1e/atl1e.ko
-  AUTOLOAD:=$(call AutoLoad,50,atl1e)
+  AUTOLOAD:=$(call AutoProbe,atl1e)
 endef
 
 $(eval $(call KernelPackage,atl1e))
 
+
 define KernelPackage/libphy
   SUBMENU:=$(NETWORK_DEVICES_MENU)
   TITLE:=PHY library
   KCONFIG:=CONFIG_PHYLIB
   FILES:=$(LINUX_DIR)/drivers/net/phy/libphy.ko
-  AUTOLOAD:=$(call AutoLoad,40,libphy)
+  AUTOLOAD:=$(call AutoLoad,15,libphy,1)
 endef
 
 define KernelPackage/libphy/description
 PHY library
+ PHY library
 endef
 
 $(eval $(call KernelPackage,libphy))
 
+define KernelPackage/mii
+  SUBMENU:=$(NETWORK_DEVICES_MENU)
+  TITLE:=MII library
+  KCONFIG:=CONFIG_MII
+  FILES:=$(LINUX_DIR)/drivers/net/mii.ko
+  AUTOLOAD:=$(call AutoLoad,15,mii,1)
+endef
+
+define KernelPackage/mii/description
+  MII library
+endef
+
+$(eval $(call KernelPackage,mii))
+
+
+define KernelPackage/mdio-gpio
+  SUBMENU:=$(NETWORK_DEVICES_MENU)
+  TITLE:= Supports GPIO lib-based MDIO busses
+  DEPENDS:=+kmod-libphy @GPIO_SUPPORT
+  KCONFIG:= \
+       CONFIG_MDIO_BITBANG \
+       CONFIG_MDIO_GPIO
+  FILES:= \
+       $(LINUX_DIR)/drivers/net/phy/mdio-gpio.ko \
+       $(LINUX_DIR)/drivers/net/phy/mdio-bitbang.ko
+  AUTOLOAD:=$(call AutoProbe,mdio-gpio)
+endef
+
+define KernelPackage/mdio-gpio/description
+ Supports GPIO lib-based MDIO busses
+endef
+
+$(eval $(call KernelPackage,mdio-gpio))
+
+
 define KernelPackage/et131x
   SUBMENU:=$(NETWORK_DEVICES_MENU)
   TITLE:=Agere ET131x Gigabit Ethernet driver
   URL:=http://sourceforge.net/projects/et131x
-  FILES:=$(LINUX_DIR)/drivers/staging/et131x/et131x.$(LINUX_KMOD_SUFFIX)
+  FILES:= \
+       $(LINUX_DIR)/drivers/net/ethernet/agere/et131x.ko
   KCONFIG:= \
        CONFIG_ET131X \
        CONFIG_ET131X_DEBUG=n
-  DEPENDS:=@PCI_SUPPORT
-  AUTOLOAD:=$(call AutoLoad,70,et131x)
+  DEPENDS:=@PCI_SUPPORT +kmod-libphy
+  AUTOLOAD:=$(call AutoProbe,et131x)
 endef
 
 define KernelPackage/et131x/description
-  This package contains the et131x kernel module.
+ This package contains the et131x kernel module
 endef
 
 $(eval $(call KernelPackage,et131x))
 
+
+define KernelPackage/phylib-broadcom
+   SUBMENU:=$(NETWORK_DEVICES_MENU)
+   TITLE:=Broadcom Ethernet PHY library
+   KCONFIG:=CONFIG_BCM_NET_PHYLIB
+   HIDDEN:=1
+   DEPENDS:=+kmod-libphy
+   FILES:=$(LINUX_DIR)/drivers/net/phy/bcm-phy-lib.ko
+   AUTOLOAD:=$(call AutoLoad,17,bcm-phy-lib)
+endef
+
+$(eval $(call KernelPackage,phylib-broadcom))
+
+
+define KernelPackage/phy-broadcom
+   SUBMENU:=$(NETWORK_DEVICES_MENU)
+   TITLE:=Broadcom Ethernet PHY driver
+   KCONFIG:=CONFIG_BROADCOM_PHY
+   DEPENDS:=+kmod-libphy +kmod-phylib-broadcom
+   FILES:=$(LINUX_DIR)/drivers/net/phy/broadcom.ko
+   AUTOLOAD:=$(call AutoLoad,18,broadcom)
+endef
+
+define KernelPackage/phy-broadcom/description
+   Currently supports the BCM5411, BCM5421, BCM5461, BCM5464, BCM5481,
+   BCM5482 and BCM57780 PHYs.
+endef
+
+$(eval $(call KernelPackage,phy-broadcom))
+
+
 define KernelPackage/swconfig
   SUBMENU:=$(NETWORK_DEVICES_MENU)
   TITLE:=switch configuration API
@@ -117,11 +190,26 @@ define KernelPackage/swconfig
 endef
 
 define KernelPackage/swconfig/description
 Switch configuration API module
+ Switch configuration API module
 endef
 
 $(eval $(call KernelPackage,swconfig))
 
+define KernelPackage/switch-mvsw61xx
+  SUBMENU:=$(NETWORK_DEVICES_MENU)
+  TITLE:=Marvell 88E61xx switch support
+  DEPENDS:=+kmod-swconfig
+  KCONFIG:=CONFIG_MVSW61XX_PHY
+  FILES:=$(LINUX_DIR)/drivers/net/phy/mvsw61xx.ko
+  AUTOLOAD:=$(call AutoLoad,42,mvsw61xx)
+endef
+
+define KernelPackage/switch-mvsw61xx/description
+ Marvell 88E61xx switch support
+endef
+
+$(eval $(call KernelPackage,switch-mvsw61xx))
+
 define KernelPackage/switch-ip17xx
   SUBMENU:=$(NETWORK_DEVICES_MENU)
   TITLE:=IC+ IP17XX switch support
@@ -132,15 +220,16 @@ define KernelPackage/switch-ip17xx
 endef
 
 define KernelPackage/switch-ip17xx/description
 IC+ IP175C/IP178C switch support
+ IC+ IP175C/IP178C switch support
 endef
 
 $(eval $(call KernelPackage,switch-ip17xx))
 
+
 define KernelPackage/switch-rtl8366-smi
   SUBMENU:=$(NETWORK_DEVICES_MENU)
   TITLE:=Realtek RTL8366 SMI switch interface support
-  DEPENDS:=@GPIO_SUPPORT +kmod-swconfig
+  DEPENDS:=@GPIO_SUPPORT +kmod-swconfig +(TARGET_armvirt||TARGET_brcm2708_bcm2708):kmod-of-mdio
   KCONFIG:=CONFIG_RTL8366_SMI
   FILES:=$(LINUX_DIR)/drivers/net/phy/rtl8366_smi.ko
   AUTOLOAD:=$(call AutoLoad,42,rtl8366_smi)
@@ -152,6 +241,7 @@ endef
 
 $(eval $(call KernelPackage,switch-rtl8366-smi))
 
+
 define KernelPackage/switch-rtl8366rb
   SUBMENU:=$(NETWORK_DEVICES_MENU)
   TITLE:=Realtek RTL8366RB switch support
@@ -162,11 +252,12 @@ define KernelPackage/switch-rtl8366rb
 endef
 
 define KernelPackage/switch-rtl8366rb/description
 Realtek RTL8366RB switch support
+ Realtek RTL8366RB switch support
 endef
 
 $(eval $(call KernelPackage,switch-rtl8366rb))
 
+
 define KernelPackage/switch-rtl8366s
   SUBMENU:=$(NETWORK_DEVICES_MENU)
   TITLE:=Realtek RTL8366S switch support
@@ -177,11 +268,28 @@ define KernelPackage/switch-rtl8366s
 endef
 
 define KernelPackage/switch-rtl8366s/description
 Realtek RTL8366S switch support
+ Realtek RTL8366S switch support
 endef
 
 $(eval $(call KernelPackage,switch-rtl8366s))
 
+
+define KernelPackage/switch-rtl8367b
+  SUBMENU:=$(NETWORK_DEVICES_MENU)
+  TITLE:=Realtek RTL8367R/B switch support
+  DEPENDS:=+kmod-switch-rtl8366-smi
+  KCONFIG:=CONFIG_RTL8367B_PHY
+  FILES:=$(LINUX_DIR)/drivers/net/phy/rtl8367b.ko
+  AUTOLOAD:=$(call AutoLoad,43,rtl8367b)
+endef
+
+define KernelPackage/switch-rtl8367b/description
+ Realtek RTL8367R/B switch support
+endef
+
+$(eval $(call KernelPackage,switch-rtl8367b))
+
+
 define KernelPackage/natsemi
   SUBMENU:=$(NETWORK_DEVICES_MENU)
   TITLE:=National Semiconductor DP8381x series
@@ -206,7 +314,7 @@ define KernelPackage/r6040
   KCONFIG:=CONFIG_R6040 \
                CONFIG_R6040_NAPI=y
   FILES:=$(LINUX_DIR)/drivers/net/ethernet/rdc/r6040.ko
-  AUTOLOAD:=$(call AutoLoad,99,r6040)
+  AUTOLOAD:=$(call AutoProbe,r6040)
 endef
 
 define KernelPackage/r6040/description
@@ -216,13 +324,29 @@ endef
 $(eval $(call KernelPackage,r6040))
 
 
+define KernelPackage/niu
+  SUBMENU:=$(NETWORK_DEVICES_MENU)
+  TITLE:=Sun Neptune 10Gbit Ethernet support
+  DEPENDS:=@PCI_SUPPORT
+  KCONFIG:=CONFIG_NIU
+  FILES:=$(LINUX_DIR)/drivers/net/ethernet/sun/niu.ko
+  AUTOLOAD:=$(call AutoProbe,niu)
+endef
+
+define KernelPackage/niu/description
+ This enables support for cards based upon Sun's Neptune chipset.
+endef
+
+$(eval $(call KernelPackage,niu))
+
+
 define KernelPackage/sis900
   SUBMENU:=$(NETWORK_DEVICES_MENU)
   TITLE:=SiS 900 Ethernet support
-  DEPENDS:=@PCI_SUPPORT
+  DEPENDS:=@PCI_SUPPORT +kmod-mii
   KCONFIG:=CONFIG_SIS900
   FILES:=$(LINUX_DIR)/drivers/net/ethernet/sis/sis900.ko
-  AUTOLOAD:=$(call AutoLoad,50,sis900)
+  AUTOLOAD:=$(call AutoProbe,sis900)
 endef
 
 define KernelPackage/sis900/description
@@ -238,7 +362,7 @@ define KernelPackage/sky2
   DEPENDS:=@PCI_SUPPORT
   KCONFIG:=CONFIG_SKY2
   FILES:=$(LINUX_DIR)/drivers/net/ethernet/marvell/sky2.ko
-  AUTOLOAD:=$(call AutoLoad,50,sky2)
+  AUTOLOAD:=$(call AutoProbe,sky2)
 endef
 
 define KernelPackage/sky2/description
@@ -257,15 +381,15 @@ $(eval $(call KernelPackage,sky2))
 define KernelPackage/via-rhine
   SUBMENU:=$(NETWORK_DEVICES_MENU)
   TITLE:=Via Rhine ethernet support
-  DEPENDS:=@PCI_SUPPORT
+  DEPENDS:=@PCI_SUPPORT +kmod-mii
   KCONFIG:=CONFIG_VIA_RHINE \
     CONFIG_VIA_RHINE_MMIO=y
   FILES:=$(LINUX_DIR)/drivers/net/ethernet/via/via-rhine.ko
-  AUTOLOAD:=$(call AutoLoad,50,via-rhine)
+  AUTOLOAD:=$(call AutoProbe,via-rhine)
 endef
 
 define KernelPackage/via-rhine/description
- Kernel modules for Via Rhine Ethernet chipsets.
+ Kernel modules for Via Rhine Ethernet chipsets
 endef
 
 $(eval $(call KernelPackage,via-rhine))
@@ -274,14 +398,14 @@ $(eval $(call KernelPackage,via-rhine))
 define KernelPackage/via-velocity
   SUBMENU:=$(NETWORK_DEVICES_MENU)
   TITLE:=VIA Velocity Gigabit Ethernet Adapter kernel support
-  DEPENDS:=@TARGET_ixp4xx||TARGET_mpc83xx||PCI_SUPPORT +kmod-lib-crc-ccitt
+  DEPENDS:=@PCI_SUPPORT +kmod-lib-crc-ccitt
   KCONFIG:=CONFIG_VIA_VELOCITY
   FILES:=$(LINUX_DIR)/drivers/net/ethernet/via/via-velocity.ko
-  AUTOLOAD:=$(call AutoLoad,50,via-velocity)
+  AUTOLOAD:=$(call AutoProbe,via-velocity)
 endef
 
 define KernelPackage/via-velocity/description
- Kernel modules for VIA Velocity Gigabit Ethernet chipsets.
+ Kernel modules for VIA Velocity Gigabit Ethernet chipsets
 endef
 
 $(eval $(call KernelPackage,via-velocity))
@@ -290,18 +414,18 @@ $(eval $(call KernelPackage,via-velocity))
 define KernelPackage/8139too
   SUBMENU:=$(NETWORK_DEVICES_MENU)
   TITLE:=RealTek RTL-8139 PCI Fast Ethernet Adapter kernel support
-  DEPENDS:=@PCI_SUPPORT
+  DEPENDS:=@PCI_SUPPORT +kmod-mii
   KCONFIG:=CONFIG_8139TOO \
     CONFIG_8139TOO_PIO=y \
     CONFIG_8139TOO_TUNE_TWISTER=n \
     CONFIG_8139TOO_8129=n \
     CONFIG_8139_OLD_RX_RESET=n
   FILES:=$(LINUX_DIR)/drivers/net/ethernet/realtek/8139too.ko
-  AUTOLOAD:=$(call AutoLoad,50,8139too)
+  AUTOLOAD:=$(call AutoProbe,8139too)
 endef
 
 define KernelPackage/8139too/description
- Kernel modules for RealTek RTL-8139 PCI Fast Ethernet adapters.
+ Kernel modules for RealTek RTL-8139 PCI Fast Ethernet adapters
 endef
 
 $(eval $(call KernelPackage,8139too))
@@ -310,14 +434,14 @@ $(eval $(call KernelPackage,8139too))
 define KernelPackage/8139cp
   SUBMENU:=$(NETWORK_DEVICES_MENU)
   TITLE:=RealTek RTL-8139C+ PCI Fast Ethernet Adapter kernel support
-  DEPENDS:=@PCI_SUPPORT
+  DEPENDS:=@PCI_SUPPORT +kmod-mii
   KCONFIG:=CONFIG_8139CP
   FILES:=$(LINUX_DIR)/drivers/net/ethernet/realtek/8139cp.ko
-  AUTOLOAD:=$(call AutoLoad,50,8139cp)
+  AUTOLOAD:=$(call AutoProbe,8139cp)
 endef
 
 define KernelPackage/8139cp/description
- Kernel module for RealTek RTL-8139C+ PCI Fast Ethernet adapters.
+ Kernel module for RealTek RTL-8139C+ PCI Fast Ethernet adapters
 endef
 
 $(eval $(call KernelPackage,8139cp))
@@ -326,16 +450,16 @@ $(eval $(call KernelPackage,8139cp))
 define KernelPackage/r8169
   SUBMENU:=$(NETWORK_DEVICES_MENU)
   TITLE:=RealTek RTL-8169 PCI Gigabit Ethernet Adapter kernel support
-  DEPENDS:=@PCI_SUPPORT
+  DEPENDS:=@PCI_SUPPORT +kmod-mii +r8169-firmware
   KCONFIG:=CONFIG_R8169 \
     CONFIG_R8169_NAPI=y \
     CONFIG_R8169_VLAN=n
   FILES:=$(LINUX_DIR)/drivers/net/ethernet/realtek/r8169.ko
-  AUTOLOAD:=$(call AutoLoad,50,r8169)
+  AUTOLOAD:=$(call AutoProbe,r8169)
 endef
 
 define KernelPackage/r8169/description
- Kernel modules for RealTek RTL-8169 PCI Gigabit Ethernet adapters.
+ Kernel modules for RealTek RTL-8169 PCI Gigabit Ethernet adapters
 endef
 
 $(eval $(call KernelPackage,r8169))
@@ -349,11 +473,11 @@ define KernelPackage/ne2k-pci
   FILES:= \
        $(LINUX_DIR)/drivers/net/ethernet/8390/ne2k-pci.ko \
        $(LINUX_DIR)/drivers/net/ethernet/8390/8390.ko
-  AUTOLOAD:=$(call AutoLoad,50,8390 ne2k-pci)
+  AUTOLOAD:=$(call AutoProbe,8390 ne2k-pci)
 endef
 
 define KernelPackage/ne2k-pci/description
- Kernel modules for NE2000 PCI Ethernet Adapter kernel.
+ Kernel modules for NE2000 PCI Ethernet Adapter kernel
 endef
 
 $(eval $(call KernelPackage,ne2k-pci))
@@ -362,21 +486,14 @@ $(eval $(call KernelPackage,ne2k-pci))
 define KernelPackage/e100
   SUBMENU:=$(NETWORK_DEVICES_MENU)
   TITLE:=Intel(R) PRO/100+ cards kernel support
-  DEPENDS:=@PCI_SUPPORT
+  DEPENDS:=@PCI_SUPPORT +kmod-mii +e100-firmware
   KCONFIG:=CONFIG_E100
   FILES:=$(LINUX_DIR)/drivers/net/ethernet/intel/e100.ko
-  AUTOLOAD:=$(call AutoLoad,50,e100)
+  AUTOLOAD:=$(call AutoProbe,e100)
 endef
 
 define KernelPackage/e100/description
- Kernel modules for Intel(R) PRO/100+ Ethernet adapters.
-endef
-
-define KernelPackage/e100/install
-       $(INSTALL_DIR) $(1)/lib/firmware/e100
-       $(foreach file,d101m_ucode.bin d101s_ucode.bin d102e_ucode.bin, \
-               $(TARGET_CROSS)objcopy -Iihex -Obinary $(LINUX_DIR)/firmware/e100/$(file).ihex $(1)/lib/firmware/e100/$(file); \
-       )
+ Kernel modules for Intel(R) PRO/100+ Ethernet adapters
 endef
 
 $(eval $(call KernelPackage,e100))
@@ -403,10 +520,13 @@ $(eval $(call KernelPackage,e1000))
 define KernelPackage/e1000e
   SUBMENU:=$(NETWORK_DEVICES_MENU)
   TITLE:=Intel(R) PRO/1000 PCIe cards kernel support
-  DEPENDS:=@PCIE_SUPPORT
+  DEPENDS:=@PCIE_SUPPORT +kmod-ptp
   KCONFIG:=CONFIG_E1000E
   FILES:=$(LINUX_DIR)/drivers/net/ethernet/intel/e1000e/e1000e.ko
-  AUTOLOAD:=$(call AutoLoad,50,e1000e)
+  AUTOLOAD:=$(call AutoProbe,e1000e)
+  MODPARAMS.e1000e:= \
+    IntMode=1 \
+    InterruptThrottleRate=4,4,4,4,4,4,4,4
 endef
 
 define KernelPackage/e1000e/description
@@ -416,10 +536,84 @@ endef
 $(eval $(call KernelPackage,e1000e))
 
 
+define KernelPackage/igb
+  SUBMENU:=$(NETWORK_DEVICES_MENU)
+  TITLE:=Intel(R) 82575/82576 PCI-Express Gigabit Ethernet support
+  DEPENDS:=@PCI_SUPPORT +kmod-i2c-core +kmod-i2c-algo-bit +kmod-ptp +kmod-hwmon-core
+  KCONFIG:=CONFIG_IGB \
+    CONFIG_IGB_HWMON=y \
+    CONFIG_IGB_DCA=n
+  FILES:=$(LINUX_DIR)/drivers/net/ethernet/intel/igb/igb.ko
+  AUTOLOAD:=$(call AutoLoad,35,igb)
+endef
+
+define KernelPackage/igb/description
+ Kernel modules for Intel(R) 82575/82576 PCI-Express Gigabit Ethernet adapters.
+endef
+
+$(eval $(call KernelPackage,igb))
+
+
+define KernelPackage/igbvf
+  SUBMENU:=$(NETWORK_DEVICES_MENU)
+  TITLE:=Intel(R) 82576 Virtual Function Ethernet support
+  DEPENDS:=@PCI_SUPPORT @TARGET_x86 +kmod-i2c-core +kmod-i2c-algo-bit +kmod-ptp
+  KCONFIG:=CONFIG_IGBVF \
+    CONFIG_IGB_HWMON=y \
+    CONFIG_IGB_DCA=n
+  FILES:=$(LINUX_DIR)/drivers/net/ethernet/intel/igbvf/igbvf.ko
+  AUTOLOAD:=$(call AutoLoad,35,igbvf)
+endef
+
+define KernelPackage/igbvf/description
+ Kernel modules for Intel(R) 82576 Virtual Function Ethernet adapters.
+endef
+
+$(eval $(call KernelPackage,igbvf))
+
+
+define KernelPackage/ixgbe
+  SUBMENU:=$(NETWORK_DEVICES_MENU)
+  TITLE:=Intel(R) 82598/82599 PCI-Express 10 Gigabit Ethernet support
+  DEPENDS:=@PCI_SUPPORT +kmod-mdio +kmod-ptp +kmod-hwmon-core
+  KCONFIG:=CONFIG_IXGBE \
+    CONFIG_IXGBE_VXLAN=n \
+    CONFIG_IXGBE_HWMON=y \
+    CONFIG_IXGBE_DCA=n
+  FILES:=$(LINUX_DIR)/drivers/net/ethernet/intel/ixgbe/ixgbe.ko
+  AUTOLOAD:=$(call AutoLoad,35,ixgbe)
+endef
+
+define KernelPackage/ixgbe/description
+ Kernel modules for Intel(R) 82598/82599 PCI-Express 10 Gigabit Ethernet adapters.
+endef
+
+$(eval $(call KernelPackage,ixgbe))
+
+
+define KernelPackage/ixgbevf
+  SUBMENU:=$(NETWORK_DEVICES_MENU)
+  TITLE:=Intel(R) 82599 Virtual Function Ethernet support
+  DEPENDS:=@PCI_SUPPORT +kmod-ixgbe
+  KCONFIG:=CONFIG_IXGBEVF \
+    CONFIG_IXGBE_VXLAN=n \
+    CONFIG_IXGBE_HWMON=y \
+    CONFIG_IXGBE_DCA=n
+  FILES:=$(LINUX_DIR)/drivers/net/ethernet/intel/ixgbevf/ixgbevf.ko
+  AUTOLOAD:=$(call AutoLoad,35,ixgbevf)
+endef
+
+define KernelPackage/ixgbevf/description
+ Kernel modules for Intel(R) 82599 Virtual Function Ethernet adapters.
+endef
+
+$(eval $(call KernelPackage,ixgbevf))
+
+
 define KernelPackage/b44
   TITLE:=Broadcom 44xx driver
   KCONFIG:=CONFIG_B44
-  DEPENDS:=@PCI_SUPPORT +!TARGET_brcm47xx:kmod-ssb
+  DEPENDS:=@PCI_SUPPORT @!TARGET_brcm47xx_mips74k +!TARGET_brcm47xx:kmod-ssb +kmod-mii +kmod-libphy
   SUBMENU:=$(NETWORK_DEVICES_MENU)
   FILES:=$(LINUX_DIR)/drivers/net/ethernet/broadcom/b44.ko
   AUTOLOAD:=$(call AutoLoad,19,b44,1)
@@ -435,10 +629,10 @@ $(eval $(call KernelPackage,b44))
 define KernelPackage/3c59x
   SUBMENU:=$(NETWORK_DEVICES_MENU)
   TITLE:=3Com 3c590/3c900 series (592/595/597) Vortex/Boomerang
-  DEPENDS:=@PCI_SUPPORT
+  DEPENDS:=@PCI_SUPPORT +kmod-mii
   KCONFIG:=CONFIG_VORTEX
   FILES:=$(LINUX_DIR)/drivers/net/ethernet/3com/3c59x.ko
-  AUTOLOAD:=$(call AutoLoad,50,3c59x)
+  AUTOLOAD:=$(call AutoProbe,3c59x)
 endef
 
 define KernelPackage/3c59x/description
@@ -457,14 +651,14 @@ $(eval $(call KernelPackage,3c59x))
 define KernelPackage/pcnet32
   SUBMENU:=$(NETWORK_DEVICES_MENU)
   TITLE:=AMD PCnet32 PCI support
-  DEPENDS:=@(PCI_SUPPORT||TARGET_malta)
+  DEPENDS:=@(PCI_SUPPORT||TARGET_malta) +kmod-mii
   KCONFIG:=CONFIG_PCNET32
   FILES:=$(LINUX_DIR)/drivers/net/ethernet/amd/pcnet32.ko
-  AUTOLOAD:=$(call AutoLoad,50,pcnet32)
+  AUTOLOAD:=$(call AutoProbe,pcnet32)
 endef
 
 define KernelPackage/pcnet32/description
- Kernel modules for AMD PCnet32 Ethernet adapters.
+ Kernel modules for AMD PCnet32 Ethernet adapters
 endef
 
 $(eval $(call KernelPackage,pcnet32))
@@ -472,15 +666,16 @@ $(eval $(call KernelPackage,pcnet32))
 
 define KernelPackage/tg3
   TITLE:=Broadcom Tigon3 Gigabit Ethernet
-  KCONFIG:=CONFIG_TIGON3
-  DEPENDS:=+!TARGET_brcm47xx:kmod-libphy +!LINUX_3_3:kmod-hwmon-core +(LINUX_3_8||LINUX_3_9||LINUX_3_10):kmod-ptp
+  KCONFIG:=CONFIG_TIGON3 \
+       CONFIG_TIGON3_HWMON=n
+  DEPENDS:=+!TARGET_brcm47xx:kmod-libphy +!LINUX_4_14:kmod-hwmon-core +kmod-ptp
   SUBMENU:=$(NETWORK_DEVICES_MENU)
   FILES:=$(LINUX_DIR)/drivers/net/ethernet/broadcom/tg3.ko
   AUTOLOAD:=$(call AutoLoad,19,tg3,1)
 endef
 
 define KernelPackage/tg3/description
- Kernel modules for Broadcom Tigon3 Gigabit Ethernet adapters.
+ Kernel modules for Broadcom Tigon3 Gigabit Ethernet adapters
 endef
 
 $(eval $(call KernelPackage,tg3))
@@ -497,7 +692,7 @@ endef
 
 define KernelPackage/hfcpci/description
  Kernel modules for Cologne AG's HFC pci cards (single port)
- using the mISDN V2 stack.
+ using the mISDN V2 stack
 endef
 
 $(eval $(call KernelPackage,hfcpci))
@@ -514,7 +709,7 @@ endef
 
 define KernelPackage/hfcmulti/description
  Kernel modules for Cologne AG's HFC multiport cards (HFC-4S/8S/E1)
- using the mISDN V2 stack.
+ using the mISDN V2 stack
 endef
 
 $(eval $(call KernelPackage,hfcmulti))
@@ -537,7 +732,7 @@ define KernelPackage/gigaset
     $(LINUX_DIR)/drivers/isdn/gigaset/bas_gigaset.ko \
     $(LINUX_DIR)/drivers/isdn/gigaset/ser_gigaset.ko \
     $(LINUX_DIR)/drivers/isdn/gigaset/usb_gigaset.ko
-  AUTOLOAD:=$(call AutoLoad,50,gigaset bas_gigaset ser_gigaset usb_gigaset)
+  AUTOLOAD:=$(call AutoProbe,gigaset bas_gigaset ser_gigaset usb_gigaset)
 endef
 
 define KernelPackage/gigaset/description
@@ -555,19 +750,20 @@ define KernelPackage/macvlan
   TITLE:=MAC-VLAN support
   KCONFIG:=CONFIG_MACVLAN
   FILES:=$(LINUX_DIR)/drivers/net/macvlan.ko
-  AUTOLOAD:=$(call AutoLoad,50,macvlan)
+  AUTOLOAD:=$(call AutoProbe,macvlan)
 endef
 
 define KernelPackage/macvlan/description
  A kernel module which allows one to create virtual interfaces that
- map packets to or from specific MAC addresses to a particular interface.
+ map packets to or from specific MAC addresses to a particular interface
 endef
 
 $(eval $(call KernelPackage,macvlan))
 
+
 define KernelPackage/tulip
   TITLE:=Tulip family network device support
-  DEPENDS:=@PCI_SUPPORT
+  DEPENDS:=@PCI_SUPPORT +kmod-mii
   SUBMENU:=$(NETWORK_DEVICES_MENU)
   KCONFIG:= \
     CONFIG_NET_TULIP=y \
@@ -578,18 +774,17 @@ define KernelPackage/tulip
     CONFIG_TULIP_MMIO=y \
     CONFIG_TULIP_NAPI=y \
     CONFIG_TULIP_NAPI_HW_MITIGATION=y \
-    CONFIG_DE4X5 \
+    CONFIG_DE4X5=n \
     CONFIG_WINBOND_840 \
     CONFIG_DM9102 \
     CONFIG_ULI526X
   FILES:= \
        $(LINUX_DIR)/drivers/net/ethernet/dec/tulip/tulip.ko \
        $(LINUX_DIR)/drivers/net/ethernet/dec/tulip/de2104x.ko \
-       $(LINUX_DIR)/drivers/net/ethernet/dec/tulip/de4x5.ko \
        $(LINUX_DIR)/drivers/net/ethernet/dec/tulip/dmfe.ko \
        $(LINUX_DIR)/drivers/net/ethernet/dec/tulip/uli526x.ko \
        $(LINUX_DIR)/drivers/net/ethernet/dec/tulip/winbond-840.ko
-  AUTOLOAD:=$(call AutoLoad,50,tulip)
+  AUTOLOAD:=$(call AutoProbe,tulip)
 endef
 
 define KernelPackage/tulip/description
@@ -607,16 +802,17 @@ define KernelPackage/solos-pci
   DEPENDS:=@PCI_SUPPORT +kmod-atm
   KCONFIG:=CONFIG_ATM_SOLOS
   FILES:=$(LINUX_DIR)/drivers/atm/solos-pci.ko
-  AUTOLOAD:=$(call AutoLoad,50,solos-pci)
+  AUTOLOAD:=$(call AutoProbe,solos-pci)
 endef
 
 define KernelPackage/solos-pci/description
  Kernel module for Traverse Technologies' Solos PCI cards
- and Geos ADSL2+ x86 motherboard.
+ and Geos ADSL2+ x86 motherboard
 endef
 
 $(eval $(call KernelPackage,solos-pci))
 
+
 define KernelPackage/dummy
   SUBMENU:=$(NETWORK_DEVICES_MENU)
   TITLE:=Dummy network device
@@ -626,11 +822,12 @@ define KernelPackage/dummy
 endef
 
 define KernelPackage/dummy/description
 The dummy network device
+ The dummy network device
 endef
 
 $(eval $(call KernelPackage,dummy))
 
+
 define KernelPackage/ifb
   SUBMENU:=$(NETWORK_DEVICES_MENU)
   TITLE:=Intermediate Functional Block support
@@ -647,10 +844,11 @@ endef
 
 $(eval $(call KernelPackage,ifb))
 
+
 define KernelPackage/dm9000
   SUBMENU:=$(NETWORK_DEVICES_MENU)
   TITLE:=Davicom 9000 Ethernet support
-  DEPENDS:=@PCI_SUPPORT
+  DEPENDS:=+kmod-mii
   KCONFIG:=CONFIG_DM9000 \
     CONFIG_DM9000_DEBUGLEVEL=4 \
     CONFIG_DM9000_FORCE_SIMPLE_PHY_POLL=y
@@ -664,13 +862,14 @@ endef
 
 $(eval $(call KernelPackage,dm9000))
 
+
 define KernelPackage/forcedeth
   SUBMENU:=$(NETWORK_DEVICES_MENU)
   TITLE:=nForce Ethernet support
   DEPENDS:=@PCI_SUPPORT
   KCONFIG:=CONFIG_FORCEDETH
   FILES:=$(LINUX_DIR)/drivers/net/ethernet/nvidia/forcedeth.ko
-  AUTOLOAD:=$(call AutoLoad,50,forcedeth)
+  AUTOLOAD:=$(call AutoProbe,forcedeth)
 endef
 
 define KernelPackage/forcedeth/description
@@ -684,7 +883,9 @@ define KernelPackage/of-mdio
   TITLE:=OpenFirmware MDIO support
   DEPENDS:=+kmod-libphy
   KCONFIG:=CONFIG_OF_MDIO
-  FILES:=$(LINUX_DIR)/drivers/of/of_mdio.ko
+  FILES:= \
+       $(LINUX_DIR)/drivers/net/phy/fixed_phy.ko@ge4.9 \
+       $(LINUX_DIR)/drivers/of/of_mdio.ko
   AUTOLOAD:=$(call AutoLoad,41,of_mdio)
 endef
 
@@ -694,33 +895,67 @@ endef
 
 $(eval $(call KernelPackage,of-mdio))
 
-define KernelPackage/fsl-pq-mdio
+
+define KernelPackage/vmxnet3
   SUBMENU:=$(NETWORK_DEVICES_MENU)
-  TITLE:=Freescale PQ MDIO bus support
-  DEPENDS:=@TARGET_mpc85xx +kmod-of-mdio
-  KCONFIG:=CONFIG_FSL_PQ_MDIO
-  FILES:=$(LINUX_DIR)/drivers/net/ethernet/freescale/fsl_pq_mdio.ko
-  AUTOLOAD:=$(call AutoLoad,42,fsl_pq_mdio)
+  TITLE:=VMware VMXNET3 ethernet driver 
+  DEPENDS:=@PCI_SUPPORT
+  KCONFIG:=CONFIG_VMXNET3
+  FILES:=$(LINUX_DIR)/drivers/net/vmxnet3/vmxnet3.ko
+  AUTOLOAD:=$(call AutoLoad,35,vmxnet3)
+endef
+
+define KernelPackage/vmxnet3/description
+ Kernel modules for VMware VMXNET3 ethernet adapters.
+endef
+
+$(eval $(call KernelPackage,vmxnet3))
+
+
+define KernelPackage/spi-ks8995
+  SUBMENU:=$(NETWORK_DEVICES_MENU)
+  TITLE:=Micrel/Kendin KS8995 Ethernet switch control
+  FILES:=$(LINUX_DIR)/drivers/net/phy/spi_ks8995.ko
+  KCONFIG:=CONFIG_MICREL_KS8995MA \
+       CONFIG_SPI=y \
+       CONFIG_SPI_MASTER=y
+  AUTOLOAD:=$(call AutoLoad,50,spi_ks8995)
+endef
+
+define KernelPackage/spi-ks8995/description
+  Kernel module for Micrel/Kendin KS8995 ethernet switch
+endef
+
+$(eval $(call KernelPackage,spi-ks8995))
+
+
+define KernelPackage/ethoc
+  SUBMENU:=$(NETWORK_DEVICES_MENU)
+  TITLE:=Opencore.org ethoc driver
+  DEPENDS:=+kmod-libphy
+  FILES:=$(LINUX_DIR)/drivers/net/ethernet/ethoc.ko
+  KCONFIG:=CONFIG_ETHOC
+  AUTOLOAD:=$(call AutoProbe,ethoc)
 endef
 
-define KernelPackage/fsl-pq-mdio/description
- Kernel driver for the Freescale PQ MDIO bus
+define KernelPackage/ethoc/description
+  Kernel module for the Opencores.org ethernet adapter
 endef
 
-$(eval $(call KernelPackage,fsl-pq-mdio))
+$(eval $(call KernelPackage,ethoc))
 
 
-define KernelPackage/gianfar
+define KernelPackage/bnx2
   SUBMENU:=$(NETWORK_DEVICES_MENU)
-  TITLE:=Gianfar Ethernet support
-  DEPENDS:=@TARGET_mpc85xx +kmod-fsl-pq-mdio
-  KCONFIG:=CONFIG_GIANFAR
-  FILES:=$(LINUX_DIR)/drivers/net/ethernet/freescale/gianfar_driver.ko
-  AUTOLOAD:=$(call AutoLoad,50,gianfar_driver)
+  TITLE:=BCM5706/5708/5709/5716 ethernet adapter driver
+  DEPENDS:=@PCI_SUPPORT +bnx2-firmware
+  FILES:=$(LINUX_DIR)/drivers/net/ethernet/broadcom/bnx2.ko
+  KCONFIG:=CONFIG_BNX2
+  AUTOLOAD:=$(call AutoProbe,bnx2)
 endef
 
-define KernelPackage/gianfar/description
- Kernel driver for Freescale Gianfar Ethernet support
+define KernelPackage/bnx2/description
+  Kernel module for the BCM5706/5708/5709/5716 ethernet adapter
 endef
 
-$(eval $(call KernelPackage,gianfar))
+$(eval $(call KernelPackage,bnx2))