kernel: add ehci-platform.ko and ehci-pci.ko when build with kernel 3.8
[openwrt.git] / package / kernel / modules / usb.mk
index 02731dbd06784a885ed5d489bf0dc0de07074c9b..e578d12cfa58645a29acf0c757cbeaea8ba989f5 100644 (file)
@@ -32,7 +32,7 @@ $(eval $(call KernelPackage,usb-core))
 
 define AddDepends/usb
   SUBMENU:=$(USB_MENU)
-  DEPENDS+=+!TARGET_etrax:kmod-usb-core $(1)
+  DEPENDS+=+kmod-usb-core $(1)
 endef
 
 
@@ -96,8 +96,8 @@ define KernelPackage/usb-ohci
        CONFIG_USB_OHCI_HCD \
        CONFIG_USB_OHCI_ATH79=y \
        CONFIG_USB_OHCI_BCM63XX=y \
-       CONFIG_USB_OHCI_RT3883=y \
-       CONFIG_USB_OCTEON_OHCI=y
+       CONFIG_USB_OCTEON_OHCI=y \
+       CONFIG_USB_OHCI_HCD_PLATFORM=y
   FILES:=$(LINUX_DIR)/drivers/usb/host/ohci-hcd.ko
   AUTOLOAD:=$(call AutoLoad,50,ohci-hcd,1)
   $(call AddDepends/usb)
@@ -110,36 +110,24 @@ endef
 $(eval $(call KernelPackage,usb-ohci,1))
 
 
-define KernelPackage/usb-isp116x-hcd
-  TITLE:=Support for the ISP116x USB Host Controller
-  DEPENDS:=@TARGET_ppc40x
-  KCONFIG:= \
-       CONFIG_USB_ISP116X_HCD \
-       CONFIG_USB_ISP116X_HCD_OF=y \
-       CONFIG_USB_ISP116X_HCD_PLATFORM=n
-  FILES:=$(LINUX_DIR)/drivers/usb/host/isp116x-hcd.ko
-  AUTOLOAD:=$(call AutoLoad,50,isp116x-hcd)
-  $(call AddDepends/usb)
-endef
-
-define KernelPackage/usb-isp116x-hcd/description
-  Kernel support for the ISP116X USB Host Controller
-endef
-
-$(eval $(call KernelPackage,usb-isp116x-hcd))
-
-
 define KernelPackage/usb2
   TITLE:=Support for USB2 controllers
-  DEPENDS:=+TARGET_brcm47xx:kmod-usb-brcm47xx
+  DEPENDS:=+TARGET_brcm47xx:kmod-usb-brcm47xx +(PCI_SUPPORT&&LINUX_3_8):usb2-pci
   KCONFIG:=CONFIG_USB_EHCI_HCD \
-    CONFIG_USB_EHCI_ATH79=y \
-    CONFIG_USB_EHCI_BCM63XX=y \
-    CONFIG_USB_EHCI_RT3883=y \
-    CONFIG_USB_OCTEON_EHCI=y \
-    CONFIG_USB_EHCI_FSL=n
+       CONFIG_USB_EHCI_ATH79=y \
+       CONFIG_USB_EHCI_BCM63XX=y \
+       CONFIG_USB_OCTEON_EHCI=y \
+       CONFIG_USB_EHCI_FSL=n \
+       CONFIG_USB_EHCI_HCD_PLATFORM=y
+ifeq ($(strip $(call CompareKernelPatchVer,$(KERNEL_PATCHVER),ge,3.8.0)),1)
+  FILES:= \
+       $(LINUX_DIR)/drivers/usb/host/ehci-hcd.ko \
+       $(LINUX_DIR)/drivers/usb/host/ehci-platform.ko
+  AUTOLOAD:=$(call AutoLoad,40,ehci-hcd ehci-platform,1)
+else
   FILES:=$(LINUX_DIR)/drivers/usb/host/ehci-hcd.ko
   AUTOLOAD:=$(call AutoLoad,40,ehci-hcd,1)
+endif
   $(call AddDepends/usb)
 endef
 
@@ -150,6 +138,22 @@ endef
 $(eval $(call KernelPackage,usb2))
 
 
+define KernelPackage/usb2-pci
+  TITLE:=Support for PCI USB2 controllers
+  DEPENDS:=@PCI_SUPPORT @LINUX_3_8
+  KCONFIG:=CONFIG_USB_EHCI_PCI
+  FILES:=$(LINUX_DIR)/drivers/usb/host/ehci-pci.ko
+  AUTOLOAD:=$(call AutoLoad,40,ehci-pci,1)
+  $(call AddDepends/usb)
+endef
+
+define KernelPackage/usb2-pci/description
+ Kernel support for PCI USB2 (EHCI) controllers
+endef
+
+$(eval $(call KernelPackage,usb2-pci))
+
+
 define KernelPackage/usb-acm
   TITLE:=Support for modems/isdn controllers
   KCONFIG:=CONFIG_USB_ACM