+define KernelPackage/sis190
+ SUBMENU:=$(NETWORK_DEVICES_MENU)
+ TITLE:=SiS 190 Fast/Gigabit Ethernet support
+ DEPENDS:=@TARGET_x86
+ KCONFIG:=CONFIG_SIS190
+ ifeq ($(strip $(call CompareKernelPatchVer,$(KERNEL_PATCHVER),ge,3.2)),1)
+ FILES:=$(LINUX_DIR)/drivers/net/ethernet/sis/sis190.ko
+ else
+ FILES:=$(LINUX_DIR)/drivers/net/sis190.ko
+ endif
+ AUTOLOAD:=$(call AutoLoad,50,sis190)
+endef
+
+$(eval $(call KernelPackage,sis190))
+
+define KernelPackage/skge
+ SUBMENU:=$(NETWORK_DEVICES_MENU)
+ TITLE:=SysKonnect Yukon support
+ DEPENDS:=@TARGET_x86
+ KCONFIG:=CONFIG_SKGE \
+ CONFIG_SKGE_DEBUG=n
+ ifeq ($(strip $(call CompareKernelPatchVer,$(KERNEL_PATCHVER),ge,3.2)),1)
+ FILES:=$(LINUX_DIR)/drivers/net/ethernet/marvell/skge.ko
+ else
+ FILES:=$(LINUX_DIR)/drivers/net/skge.ko
+ endif
+ AUTOLOAD:=$(call AutoLoad,50,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
+ ifeq ($(strip $(call CompareKernelPatchVer,$(KERNEL_PATCHVER),ge,3.2)),1)
+ FILES:=$(LINUX_DIR)/drivers/net/ethernet/atheros/atlx/atl2.ko
+ else
+ FILES:=$(LINUX_DIR)/drivers/net/atlx/atl2.ko
+ endif
+ AUTOLOAD:=$(call AutoLoad,50,atl2)
+endef
+
+$(eval $(call KernelPackage,atl2))
+
+define KernelPackage/atl1
+ SUBMENU:=$(NETWORK_DEVICES_MENU)
+ TITLE:=Atheros L1 Gigabit Ethernet support
+ DEPENDS:=@PCI_SUPPORT
+ KCONFIG:=CONFIG_ATL1
+ ifeq ($(strip $(call CompareKernelPatchVer,$(KERNEL_PATCHVER),ge,3.2)),1)
+ FILES:=$(LINUX_DIR)/drivers/net/ethernet/atheros/atlx/atl1.ko
+ else
+ FILES:=$(LINUX_DIR)/drivers/net/atlx/atl1.ko
+ endif
+ AUTOLOAD:=$(call AutoLoad,50,atl1)
+endef
+
+$(eval $(call KernelPackage,atl1))
+
+define KernelPackage/atl1c
+ SUBMENU:=$(NETWORK_DEVICES_MENU)
+ TITLE:=Atheros L1C
+ DEPENDS:=@PCI_SUPPORT
+ KCONFIG:=CONFIG_ATL1C
+ ifeq ($(strip $(call CompareKernelPatchVer,$(KERNEL_PATCHVER),ge,3.2)),1)
+ FILES:=$(LINUX_DIR)/drivers/net/ethernet/atheros/atl1c/atl1c.ko
+ else
+ FILES:=$(LINUX_DIR)/drivers/net/atl1c/atl1c.ko
+ endif
+ AUTOLOAD:=$(call AutoLoad,50,atl1c)
+endef
+
+$(eval $(call KernelPackage,atl1c))
+
+define KernelPackage/atl1e
+ SUBMENU:=$(NETWORK_DEVICES_MENU)
+ TITLE:=Atheros L1E
+ DEPENDS:=@PCI_SUPPORT
+ KCONFIG:=CONFIG_ATL1E
+ ifeq ($(strip $(call CompareKernelPatchVer,$(KERNEL_PATCHVER),ge,3.2)),1)
+ FILES:=$(LINUX_DIR)/drivers/net/ethernet/atheros/atl1e/atl1e.ko
+ else
+ FILES:=$(LINUX_DIR)/drivers/net/atl1e/atl1e.ko
+ endif
+ AUTOLOAD:=$(call AutoLoad,50,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)
+endef
+
+define KernelPackage/libphy/description
+ PHY library
+endef
+
+$(eval $(call KernelPackage,libphy))
+
+define KernelPackage/swconfig
+ SUBMENU:=$(NETWORK_DEVICES_MENU)
+ TITLE:=switch configuration API
+ DEPENDS:=+kmod-libphy
+ KCONFIG:=CONFIG_SWCONFIG
+ FILES:=$(LINUX_DIR)/drivers/net/phy/swconfig.ko
+ AUTOLOAD:=$(call AutoLoad,41,swconfig)
+endef
+
+define KernelPackage/swconfig/description
+ Switch configuration API module
+endef
+
+$(eval $(call KernelPackage,swconfig))
+
+define KernelPackage/mvswitch
+ SUBMENU:=$(NETWORK_DEVICES_MENU)
+ TITLE:=Marvell 88E6060 switch support
+ DEPENDS:=+kmod-swconfig @!LINUX_3_1&&!LINUX_3_2&&!LINUX_3_3||BROKEN
+ KCONFIG:=CONFIG_MVSWITCH_PHY
+ FILES:=$(LINUX_DIR)/drivers/net/phy/mvswitch.ko
+ AUTOLOAD:=$(call AutoLoad,41,mvswitch)
+endef
+
+define KernelPackage/mvswitch/description
+ Marvell 88E6060 switch support
+endef
+
+$(eval $(call KernelPackage,mvswitch))
+
+define KernelPackage/switch-ip17xx
+ SUBMENU:=$(NETWORK_DEVICES_MENU)
+ TITLE:=IC+ IP17XX switch support
+ DEPENDS:=+kmod-swconfig
+ KCONFIG:=CONFIG_IP17XX_PHY
+ FILES:=$(LINUX_DIR)/drivers/net/phy/ip17xx.ko
+ AUTOLOAD:=$(call AutoLoad,42,ip17xx)
+endef
+
+define KernelPackage/switch-ip17xx/description
+ 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
+ KCONFIG:=CONFIG_RTL8366_SMI
+ FILES:=$(LINUX_DIR)/drivers/net/phy/rtl8366_smi.ko
+ AUTOLOAD:=$(call AutoLoad,42,rtl8366_smi)
+endef
+
+define KernelPackage/switch-rtl8366_smi/description
+ Realtek RTL8366 series SMI switch interface support
+endef
+
+$(eval $(call KernelPackage,switch-rtl8366-smi))
+
+define KernelPackage/switch-rtl8366rb
+ SUBMENU:=$(NETWORK_DEVICES_MENU)
+ TITLE:=Realtek RTL8366RB switch support
+ DEPENDS:=+kmod-switch-rtl8366-smi
+ KCONFIG:=CONFIG_RTL8366RB_PHY
+ FILES:=$(LINUX_DIR)/drivers/net/phy/rtl8366rb.ko
+ AUTOLOAD:=$(call AutoLoad,43,rtl8366rb)
+endef
+
+define KernelPackage/switch-rtl8366rb/description
+ Realtek RTL8366RB switch support
+endef
+
+$(eval $(call KernelPackage,switch-rtl8366rb))
+
+define KernelPackage/switch-rtl8366s
+ SUBMENU:=$(NETWORK_DEVICES_MENU)
+ TITLE:=Realtek RTL8366S switch support
+ DEPENDS:=+kmod-switch-rtl8366-smi
+ KCONFIG:=CONFIG_RTL8366S_PHY
+ FILES:=$(LINUX_DIR)/drivers/net/phy/rtl8366s.ko
+ AUTOLOAD:=$(call AutoLoad,43,rtl8366s)
+endef
+
+define KernelPackage/switch-rtl8366s/description
+ Realtek RTL8366S switch support
+endef
+
+$(eval $(call KernelPackage,switch-rtl8366s))
+