kernel/modules: package xhci for kernel>=3.18
[15.05/openwrt.git] / package / kernel / linux / modules / usb.mk
index d47c746..4644cbb 100644 (file)
@@ -16,9 +16,15 @@ define KernelPackage/usb-core
   TITLE:=Support for USB
   DEPENDS:=@USB_SUPPORT
   KCONFIG:=CONFIG_USB CONFIG_XPS_USB_HCD_XILINX=n CONFIG_USB_FHCI_HCD=n
+ifeq ($(strip $(call CompareKernelPatchVer,$(KERNEL_PATCHVER),ge,3.16.0)),1)
+  FILES:= \
+       $(LINUX_DIR)/drivers/usb/core/usbcore.ko \
+       $(LINUX_DIR)/drivers/usb/common/usb-common.ko
+else
   FILES:= \
        $(LINUX_DIR)/drivers/usb/core/usbcore.ko \
        $(LINUX_DIR)/drivers/usb/usb-common.ko
+endif
   AUTOLOAD:=$(call AutoLoad,20,usb-common usbcore,1)
   $(call AddDepends/nls)
 endef
@@ -326,6 +332,7 @@ define KernelPackage/usb-ohci
        CONFIG_USB_OHCI \
        CONFIG_USB_OHCI_HCD \
        CONFIG_USB_OHCI_ATH79=y \
+       CONFIG_USB_OHCI_HCD_AT91=y \
        CONFIG_USB_OHCI_BCM63XX=y \
        CONFIG_USB_OCTEON_OHCI=y \
        CONFIG_USB_OHCI_HCD_OMAP3=y \
@@ -460,6 +467,23 @@ endef
 $(eval $(call KernelPackage,usb-dwc2))
 
 
+define KernelPackage/usb2-oxnas
+  TITLE:=OXNAS USB controller driver
+  DEPENDS:=@TARGET_oxnas +kmod-usb2
+  KCONFIG:=CONFIG_USB_EHCI_OXNAS
+  FILES:=$(LINUX_DIR)/drivers/usb/host/ehci-oxnas.ko
+  AUTOLOAD:=$(call AutoLoad,55,ehci-oxnas,1)
+  $(call AddDepends/usb)
+endef
+
+define KernelPackage/usb2-oxnas/description
+ This driver provides USB Device Controller support for the
+ EHCI USB host built-in to the PLXTECH NAS782x SoC
+endef
+
+$(eval $(call KernelPackage,usb2-oxnas))
+
+
 define KernelPackage/usb-acm
   TITLE:=Support for modems/isdn controllers
   KCONFIG:=CONFIG_USB_ACM
@@ -1220,7 +1244,7 @@ define KernelPackage/usb-net-huawei-cdc-ncm
   KCONFIG:=CONFIG_USB_NET_HUAWEI_CDC_NCM
   FILES:= $(LINUX_DIR)/drivers/$(USBNET_DIR)/huawei_cdc_ncm.ko
   AUTOLOAD:=$(call AutoProbe,huawei_cdc_ncm)
-  $(call AddDepends/usb-net,+kmod-usb-wdm @(LINUX_3_13||LINUX_3_14))
+  $(call AddDepends/usb-net,+kmod-usb-wdm @!LINUX_3_3 @!LINUX_3_8 @!LINUX_3_10)
 endef
 
 define KernelPackage/usb-net-huawei-cdc-ncm/description
@@ -1439,16 +1463,20 @@ endef
 
 $(eval $(call KernelPackage,usbmon))
 
+XHCI_FILES := $(wildcard $(patsubst %,$(LINUX_DIR)/drivers/usb/host/%.ko,xhci-hcd xhci-pci xhci-plat))
+XHCI_AUTOLOAD := $(patsubst $(LINUX_DIR)/drivers/usb/host/%.ko,%,$(XHCI_FILES))
 
 define KernelPackage/usb3
   TITLE:=Support for USB3 controllers
   DEPENDS:=+TARGET_omap:kmod-usb-phy-omap-usb3
   KCONFIG:= \
        CONFIG_USB_XHCI_HCD \
+       CONFIG_USB_XHCI_PCI \
+       CONFIG_USB_XHCI_PLATFORM \
        CONFIG_USB_XHCI_HCD_DEBUGGING=n
   FILES:= \
-       $(LINUX_DIR)/drivers/usb/host/xhci-hcd.ko
-  AUTOLOAD:=$(call AutoLoad,54,xhci-hcd,1)
+       $(XHCI_FILES)
+  AUTOLOAD:=$(call AutoLoad,54,$(XHCI_AUTOLOAD),1)
   $(call AddDepends/usb)
 endef