kernel: add some more additional missing config symbols for 3.2 and 3.3
[openwrt/svn-archive/archive.git] / package / kernel / modules / netdevices.mk
index e8036f0e003b55fb702a13da17be2c54fc02bb0e..16fd93198dd4e9a628305a778ef8455ebad3bf72 100644 (file)
@@ -1,5 +1,5 @@
 #
-# Copyright (C) 2006-2008 OpenWrt.org
+# Copyright (C) 2006-2011 OpenWrt.org
 #
 # This is free software, licensed under the GNU General Public License v2.
 # See /LICENSE for more information.
@@ -7,6 +7,98 @@
 
 NETWORK_DEVICES_MENU:=Network Devices
 
+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 \
+       CONFIG_SKGE_GENESIS=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
@@ -39,7 +131,7 @@ $(eval $(call KernelPackage,swconfig))
 define KernelPackage/mvswitch
   SUBMENU:=$(NETWORK_DEVICES_MENU)
   TITLE:=Marvell 88E6060 switch support
-  DEPENDS:=+kmod-swconfig
+  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)
@@ -66,12 +158,61 @@ 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))
+
 define KernelPackage/natsemi
   SUBMENU:=$(NETWORK_DEVICES_MENU)
   TITLE:=National Semiconductor DP8381x series
   DEPENDS:=@TARGET_x86
   KCONFIG:=CONFIG_NATSEMI
-  FILES:=$(LINUX_DIR)/drivers/net/natsemi.ko
+  ifeq ($(strip $(call CompareKernelPatchVer,$(KERNEL_PATCHVER),ge,3.2)),1)
+    FILES:=$(LINUX_DIR)/drivers/net/ethernet/natsemi/natsemi.ko
+  else
+    FILES:=$(LINUX_DIR)/drivers/net/natsemi.ko
+  endif
   AUTOLOAD:=$(call AutoLoad,20,natsemi)
 endef
 
@@ -86,10 +227,14 @@ $(eval $(call KernelPackage,natsemi))
 define KernelPackage/r6040
   SUBMENU:=$(NETWORK_DEVICES_MENU)
   TITLE:=RDC Fast-Ethernet support
-  DEPENDS:=@TARGET_rdc
+  DEPENDS:=@TARGET_rdc +kmod-libphy
   KCONFIG:=CONFIG_R6040 \
                CONFIG_R6040_NAPI=y
-  FILES:=$(LINUX_DIR)/drivers/net/r6040.ko
+  ifeq ($(strip $(call CompareKernelPatchVer,$(KERNEL_PATCHVER),ge,3.2)),1)
+    FILES:=$(LINUX_DIR)/drivers/net/ethernet/rdc/r6040.ko
+  else
+    FILES:=$(LINUX_DIR)/drivers/net/r6040.ko
+  endif
   AUTOLOAD:=$(call AutoLoad,99,r6040)
 endef
 
@@ -105,7 +250,11 @@ define KernelPackage/sis900
   TITLE:=SiS 900 Ethernet support
   DEPENDS:=@TARGET_x86
   KCONFIG:=CONFIG_SIS900
-  FILES:=$(LINUX_DIR)/drivers/net/sis900.ko
+  ifeq ($(strip $(call CompareKernelPatchVer,$(KERNEL_PATCHVER),ge,3.2)),1)
+    FILES:=$(LINUX_DIR)/drivers/net/ethernet/sis/sis900.ko
+  else
+    FILES:=$(LINUX_DIR)/drivers/net/sis900.ko
+  endif
   AUTOLOAD:=$(call AutoLoad,50,sis900)
 endef
 
@@ -119,9 +268,12 @@ $(eval $(call KernelPackage,sis900))
 define KernelPackage/sky2
   SUBMENU:=$(NETWORK_DEVICES_MENU)
   TITLE:=SysKonnect Yukon2 support
-  DEPENDS:=@TARGET_x86
   KCONFIG:=CONFIG_SKY2
-  FILES:=$(LINUX_DIR)/drivers/net/sky2.ko
+  ifeq ($(strip $(call CompareKernelPatchVer,$(KERNEL_PATCHVER),ge,3.2)),1)
+    FILES:=$(LINUX_DIR)/drivers/net/ethernet/marvell/sky2.ko
+  else
+    FILES:=$(LINUX_DIR)/drivers/net/sky2.ko
+  endif
   AUTOLOAD:=$(call AutoLoad,50,sky2)
 endef
 
@@ -144,7 +296,11 @@ define KernelPackage/via-rhine
   DEPENDS:=@TARGET_x86
   KCONFIG:=CONFIG_VIA_RHINE \
     CONFIG_VIA_RHINE_MMIO=y
-  FILES:=$(LINUX_DIR)/drivers/net/via-rhine.ko
+  ifeq ($(strip $(call CompareKernelPatchVer,$(KERNEL_PATCHVER),ge,3.2)),1)
+    FILES:=$(LINUX_DIR)/drivers/net/ethernet/via/via-rhine.ko
+  else
+    FILES:=$(LINUX_DIR)/drivers/net/via-rhine.ko
+  endif
   AUTOLOAD:=$(call AutoLoad,50,via-rhine)
 endef
 
@@ -158,9 +314,13 @@ $(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||TARGET_x86 +kmod-crc-ccitt
+  DEPENDS:=@TARGET_ixp4xx||TARGET_mpc83xx||TARGET_x86 +kmod-lib-crc-ccitt
   KCONFIG:=CONFIG_VIA_VELOCITY
-  FILES:=$(LINUX_DIR)/drivers/net/via-velocity.ko
+  ifeq ($(strip $(call CompareKernelPatchVer,$(KERNEL_PATCHVER),ge,3.2)),1)
+    FILES:=$(LINUX_DIR)/drivers/net/ethernet/via/via-velocity.ko
+  else
+    FILES:=$(LINUX_DIR)/drivers/net/via-velocity.ko
+  endif
   AUTOLOAD:=$(call AutoLoad,50,via-velocity)
 endef
 
@@ -175,7 +335,11 @@ define KernelPackage/ixp4xx-eth
   TITLE:=IXP4xxt Ethernet Adapter kernel support
   DEPENDS:=@TARGET_ixp4xx
   KCONFIG:=CONFIG_IXP4XX_ETH
-  FILES:=$(LINUX_DIR)/drivers/net/arm/ixp4xx_eth.ko
+  ifeq ($(strip $(call CompareKernelPatchVer,$(KERNEL_PATCHVER),ge,3.2)),1)
+    FILES:=$(LINUX_DIR)/drivers/net/ethernet/xscale/ixp4xx_eth.ko
+  else
+    FILES:=$(LINUX_DIR)/drivers/net/arm/ixp4xx_eth.ko
+  endif
   AUTOLOAD:=$(call AutoLoad,50,ixp4xx_eth)
 endef
 
@@ -194,7 +358,11 @@ define KernelPackage/8139too
     CONFIG_8139TOO_TUNE_TWISTER=n \
     CONFIG_8139TOO_8129=n \
     CONFIG_8139_OLD_RX_RESET=n
-  FILES:=$(LINUX_DIR)/drivers/net/8139too.ko
+  ifeq ($(strip $(call CompareKernelPatchVer,$(KERNEL_PATCHVER),ge,3.2)),1)
+    FILES:=$(LINUX_DIR)/drivers/net/ethernet/realtek/8139too.ko
+  else
+    FILES:=$(LINUX_DIR)/drivers/net/8139too.ko
+  endif
   AUTOLOAD:=$(call AutoLoad,50,8139too)
 endef
 
@@ -210,7 +378,11 @@ define KernelPackage/8139cp
   TITLE:=RealTek RTL-8139C+ PCI Fast Ethernet Adapter kernel support
   DEPENDS:=@TARGET_x86
   KCONFIG:=CONFIG_8139CP
-  FILES:=$(LINUX_DIR)/drivers/net/8139cp.ko
+  ifeq ($(strip $(call CompareKernelPatchVer,$(KERNEL_PATCHVER),ge,3.2)),1)
+    FILES:=$(LINUX_DIR)/drivers/net/ethernet/realtek/8139cp.ko
+  else
+    FILES:=$(LINUX_DIR)/drivers/net/8139cp.ko
+  endif
   AUTOLOAD:=$(call AutoLoad,50,8139cp)
 endef
 
@@ -224,11 +396,15 @@ $(eval $(call KernelPackage,8139cp))
 define KernelPackage/r8169
   SUBMENU:=$(NETWORK_DEVICES_MENU)
   TITLE:=RealTek RTL-8169 PCI Gigabit Ethernet Adapter kernel support
-  DEPENDS:=@TARGET_x86
+  DEPENDS:=@PCI_SUPPORT
   KCONFIG:=CONFIG_R8169 \
     CONFIG_R8169_NAPI=y \
     CONFIG_R8169_VLAN=n
-  FILES:=$(LINUX_DIR)/drivers/net/r8169.ko
+  ifeq ($(strip $(call CompareKernelPatchVer,$(KERNEL_PATCHVER),ge,3.2)),1)
+    FILES:=$(LINUX_DIR)/drivers/net/ethernet/realtek/r8169.ko
+  else
+    FILES:=$(LINUX_DIR)/drivers/net/r8169.ko
+  endif
   AUTOLOAD:=$(call AutoLoad,50,r8169)
 endef
 
@@ -244,9 +420,15 @@ define KernelPackage/ne2k-pci
   TITLE:=ne2k-pci Ethernet Adapter kernel support
   DEPENDS:=@TARGET_x86
   KCONFIG:=CONFIG_NE2K_PCI
-  FILES:= \
+  ifeq ($(strip $(call CompareKernelPatchVer,$(KERNEL_PATCHVER),ge,3.2)),1)
+    FILES:= \
+       $(LINUX_DIR)/drivers/net/ethernet/8390/ne2k-pci.ko \
+       $(LINUX_DIR)/drivers/net/ethernet/8390/8390.ko
+  else
+    FILES:= \
        $(LINUX_DIR)/drivers/net/ne2k-pci.ko \
        $(LINUX_DIR)/drivers/net/8390.ko
+  endif
   AUTOLOAD:=$(call AutoLoad,50,8390 ne2k-pci)
 endef
 
@@ -262,7 +444,11 @@ define KernelPackage/e100
   TITLE:=Intel(R) PRO/100+ cards kernel support
   DEPENDS:=@TARGET_x86
   KCONFIG:=CONFIG_E100
-  FILES:=$(LINUX_DIR)/drivers/net/e100.ko
+  ifeq ($(strip $(call CompareKernelPatchVer,$(KERNEL_PATCHVER),ge,3.2)),1)
+    FILES:=$(LINUX_DIR)/drivers/net/ethernet/intel/e100.ko
+  else
+    FILES:=$(LINUX_DIR)/drivers/net/e100.ko
+  endif
   AUTOLOAD:=$(call AutoLoad,50,e100)
 endef
 
@@ -270,6 +456,13 @@ 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); \
+       )
+endef
+
 $(eval $(call KernelPackage,e100))
 
 
@@ -280,7 +473,11 @@ define KernelPackage/e1000
   KCONFIG:=CONFIG_E1000 \
     CONFIG_E1000_DISABLE_PACKET_SPLIT=n \
     CONFIG_E1000_NAPI=y
-  FILES:=$(LINUX_DIR)/drivers/net/e1000/e1000.ko
+  ifeq ($(strip $(call CompareKernelPatchVer,$(KERNEL_PATCHVER),ge,3.2)),1)
+    FILES:=$(LINUX_DIR)/drivers/net/ethernet/intel/e1000/e1000.ko
+  else
+    FILES:=$(LINUX_DIR)/drivers/net/e1000/e1000.ko
+  endif
   AUTOLOAD:=$(call AutoLoad,35,e1000)
 endef
 
@@ -296,7 +493,11 @@ define KernelPackage/e1000e
   TITLE:=Intel(R) PRO/1000 PCIe cards kernel support
   DEPENDS:=@PCIE_SUPPORT
   KCONFIG:=CONFIG_E1000E
-  FILES:=$(LINUX_DIR)/drivers/net/e1000e/e1000e.ko
+  ifeq ($(strip $(call CompareKernelPatchVer,$(KERNEL_PATCHVER),ge,3.2)),1)
+    FILES:=$(LINUX_DIR)/drivers/net/ethernet/intel/e1000e/e1000e.ko
+  else
+    FILES:=$(LINUX_DIR)/drivers/net/e1000e/e1000e.ko
+  endif
   AUTOLOAD:=$(call AutoLoad,50,e1000e)
 endef
 
@@ -309,10 +510,14 @@ $(eval $(call KernelPackage,e1000e))
 
 define KernelPackage/b44
   TITLE:=Broadcom 44xx driver
-  FILES:=$(LINUX_DIR)/drivers/net/b44.ko
   KCONFIG:=CONFIG_B44
   DEPENDS:=@TARGET_x86 +kmod-ssb
   SUBMENU:=$(NETWORK_DEVICES_MENU)
+  ifeq ($(strip $(call CompareKernelPatchVer,$(KERNEL_PATCHVER),ge,3.2)),1)
+    FILES:=$(LINUX_DIR)/drivers/net/ethernet/broadcom/b44.ko
+  else
+    FILES:=$(LINUX_DIR)/drivers/net/b44.ko
+  endif
   AUTOLOAD:=$(call AutoLoad,50,b44)
 endef
 
@@ -328,7 +533,11 @@ define KernelPackage/3c59x
   TITLE:=3Com 3c590/3c900 series (592/595/597) Vortex/Boomerang
   DEPENDS:=@TARGET_x86
   KCONFIG:=CONFIG_VORTEX
-  FILES:=$(LINUX_DIR)/drivers/net/3c59x.ko
+  ifeq ($(strip $(call CompareKernelPatchVer,$(KERNEL_PATCHVER),ge,3.2)),1)
+    FILES:=$(LINUX_DIR)/drivers/net/ethernet/3com/3c59x.ko
+  else
+    FILES:=$(LINUX_DIR)/drivers/net/3c59x.ko
+  endif
   AUTOLOAD:=$(call AutoLoad,50,3c59x)
 endef
 
@@ -350,7 +559,11 @@ define KernelPackage/pcnet32
   TITLE:=AMD PCnet32 PCI support
   DEPENDS:=@(TARGET_x86||TARGET_malta)
   KCONFIG:=CONFIG_PCNET32
-  FILES:=$(LINUX_DIR)/drivers/net/pcnet32.ko
+  ifeq ($(strip $(call CompareKernelPatchVer,$(KERNEL_PATCHVER),ge,3.2)),1)
+    FILES:=$(LINUX_DIR)/drivers/net/ethernet/amd/pcnet32.ko
+  else
+    FILES:=$(LINUX_DIR)/drivers/net/pcnet32.ko
+  endif
   AUTOLOAD:=$(call AutoLoad,50,pcnet32)
 endef
 
@@ -363,10 +576,14 @@ $(eval $(call KernelPackage,pcnet32))
 
 define KernelPackage/tg3
   TITLE:=Broadcom Tigon3 Gigabit Ethernet
-  FILES:=$(LINUX_DIR)/drivers/net/tg3.ko
   KCONFIG:=CONFIG_TIGON3
   DEPENDS:=+!TARGET_brcm47xx:kmod-libphy @!TARGET_ubicom32
   SUBMENU:=$(NETWORK_DEVICES_MENU)
+  ifeq ($(strip $(call CompareKernelPatchVer,$(KERNEL_PATCHVER),ge,3.2)),1)
+    FILES:=$(LINUX_DIR)/drivers/net/ethernet/broadcom/tg3.ko
+  else
+    FILES:=$(LINUX_DIR)/drivers/net/tg3.ko
+  endif
   AUTOLOAD:=$(call AutoLoad,50,tg3)
 endef
 
@@ -428,7 +645,7 @@ $(eval $(call KernelPackage,hfcmulti))
 define KernelPackage/gigaset
   SUBMENU:=$(NETWORK_DEVICES_MENU)
   TITLE:=Siemens Gigaset support for isdn4linux
-  DEPENDS:=@USB_SUPPORT +kmod-isdn4linux +kmod-crc-ccitt +kmod-usb-core
+  DEPENDS:=@USB_SUPPORT +kmod-isdn4linux +kmod-lib-crc-ccitt +kmod-usb-core
   URL:=http://gigaset307x.sourceforge.net/
   KCONFIG:= \
     CONFIG_ISDN_DRV_GIGASET \
@@ -486,13 +703,23 @@ define KernelPackage/tulip
     CONFIG_WINBOND_840 \
     CONFIG_DM9102 \
     CONFIG_ULI526X 
-  FILES:= \
-    $(LINUX_DIR)/drivers/net/tulip/tulip.ko \
-    $(LINUX_DIR)/drivers/net/tulip/de2104x.ko \
-    $(LINUX_DIR)/drivers/net/tulip/de4x5.ko \
-    $(LINUX_DIR)/drivers/net/tulip/dmfe.ko \
-    $(LINUX_DIR)/drivers/net/tulip/uli526x.ko \
-    $(LINUX_DIR)/drivers/net/tulip/winbond-840.ko
+  ifeq ($(strip $(call CompareKernelPatchVer,$(KERNEL_PATCHVER),ge,3.2)),1)
+    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
+  else
+    FILES:= \
+       $(LINUX_DIR)/drivers/net/tulip/tulip.ko \
+       $(LINUX_DIR)/drivers/net/tulip/de2104x.ko \
+       $(LINUX_DIR)/drivers/net/tulip/de4x5.ko \
+       $(LINUX_DIR)/drivers/net/tulip/dmfe.ko \
+       $(LINUX_DIR)/drivers/net/tulip/uli526x.ko \
+       $(LINUX_DIR)/drivers/net/tulip/winbond-840.ko
+  endif
   AUTOLOAD:=$(call AutoLoad,50,tulip)
 endef
 
@@ -550,3 +777,23 @@ define KernelPackage/ifb/description
 endef
 
 $(eval $(call KernelPackage,ifb))
+
+define KernelPackage/dm9000
+  SUBMENU:=$(NETWORK_DEVICES_MENU)
+  TITLE:=Davicom 9000 Ethernet support
+  KCONFIG:=CONFIG_DM9000 \
+    CONFIG_DM9000_DEBUGLEVEL=4 \
+    CONFIG_DM9000_FORCE_SIMPLE_PHY_POLL=y
+  ifeq ($(strip $(call CompareKernelPatchVer,$(KERNEL_PATCHVER),ge,3.2)),1)
+    FILES:=$(LINUX_DIR)/drivers/net/ethernet/davicom/dm9000.ko
+  else
+    FILES:=$(LINUX_DIR)/drivers/net/dm9000.ko
+  endif
+  AUTOLOAD:=$(call AutoLoad,34,dm9000)
+endef
+
+define KernelPackage/dm9000/description
+ Kernel driver for Davicom 9000 Ethernet adapters.
+endef
+
+$(eval $(call KernelPackage,dm9000))