kmod-usb-net-cdc-mbim: fix module loading
[openwrt/svn-archive/archive.git] / package / kernel / modules / usb.mk
index ac661285ef69299f564c6c2088a5001300905f57..03fb3d4abd66d4e5ed90cd5d0db7208a628c50dc 100644 (file)
@@ -1,5 +1,5 @@
 #
-# Copyright (C) 2006-2010 OpenWrt.org
+# Copyright (C) 2006-2012 OpenWrt.org
 #
 # This is free software, licensed under the GNU General Public License v2.
 # See /LICENSE for more information.
@@ -14,10 +14,13 @@ USBINPUT_DIR?=input/misc
 define KernelPackage/usb-core
   SUBMENU:=$(USB_MENU)
   TITLE:=Support for USB
-  DEPENDS:=@USB_SUPPORT +kmod-nls-base
+  DEPENDS:=@USB_SUPPORT
   KCONFIG:=CONFIG_USB CONFIG_XPS_USB_HCD_XILINX=n CONFIG_USB_FHCI_HCD=n
-  FILES:=$(LINUX_DIR)/drivers/usb/core/usbcore.ko
-  AUTOLOAD:=$(call AutoLoad,20,usbcore,1)
+  FILES:= \
+       $(LINUX_DIR)/drivers/usb/core/usbcore.ko \
+       $(LINUX_DIR)/drivers/usb/usb-common.ko
+  AUTOLOAD:=$(call AutoLoad,20,usb-common usbcore,1)
+  $(call AddDepends/nls)
 endef
 
 define KernelPackage/usb-core/description
@@ -29,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
 
 
@@ -87,11 +90,14 @@ $(eval $(call KernelPackage,usb-uhci,1))
 
 define KernelPackage/usb-ohci
   TITLE:=Support for OHCI controllers
+  DEPENDS:=+TARGET_brcm47xx:kmod-usb-brcm47xx
   KCONFIG:= \
        CONFIG_USB_OHCI \
        CONFIG_USB_OHCI_HCD \
-       CONFIG_USB_OHCI_AR71XX=y \
-       CONFIG_USB_OCTEON_OHCI=y
+       CONFIG_USB_OHCI_ATH79=y \
+       CONFIG_USB_OHCI_BCM63XX=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)
@@ -104,105 +110,42 @@ endef
 $(eval $(call KernelPackage,usb-ohci,1))
 
 
-define KernelPackage/musb-hdrc
-  TITLE:=Support for Mentor Graphics silicon dual role USB
-  KCONFIG:= \
-       CONFIG_USB_MUSB_HDRC \
-       CONFIG_MUSB_PIO_ONLY=n \
-       CONFIG_USB_MUSB_OTG=y \
-       CONFIG_USB_MUSB_DEBUG=y
-  DEPENDS:=@TARGET_omap24xx
-  FILES:=$(LINUX_DIR)/drivers/usb/musb/musb_hdrc.ko
-  AUTOLOAD:=$(call AutoLoad,46,musb_hdrc)
-  $(call AddDepends/usb)
-endef
-
-define KernelPackage/musb-hdrc/description
-  Kernel support for Mentor Graphics silicon dual role USB device.
-endef
-
-$(eval $(call KernelPackage,musb-hdrc))
-
-
-define KernelPackage/nop-usb-xceiv
-  TITLE:=Support for USB OTG NOP transceiver
-  KCONFIG:= \
-       CONFIG_NOP_USB_XCEIV
-  DEPENDS:=@TARGET_omap24xx
-  FILES:=$(LINUX_DIR)/drivers/usb/otg/nop-usb-xceiv.ko
-  AUTOLOAD:=$(call AutoLoad,45,nop-usb-xceiv)
+define KernelPackage/usb2-fsl
+  TITLE:=Support for Freescale USB2 controllers
+  DEPENDS:=TARGET_mpc85xx
+  KCONFIG:=\
+       CONFIG_USB_FSL_MPH_DR_OF \
+       CONFIG_USB_EHCI_FSL=y
+  FILES:=$(LINUX_DIR)/drivers/usb/host/fsl-mph-dr-of.ko
+  AUTOLOAD:=$(call AutoLoad,39,fsl-mph-dr-of,1)
   $(call AddDepends/usb)
 endef
 
-define KernelPackage/nop-usb-xceiv/description
-  Support for USB OTG NOP transceiver
+define KernelPackage/usb2-fsl/description
+ Kernel support for Freescale USB2 (EHCI) controllers
 endef
 
-$(eval $(call KernelPackage,nop-usb-xceiv))
-
-
-define KernelPackage/tusb6010
-  TITLE:=Support for TUSB 6010
-  KCONFIG:= \
-       CONFIG_USB_TUSB6010=y
-  DEPENDS:=+kmod-musb-hdrc +kmod-nop-usb-xceiv
-  $(call AddDepends/usb)
-endef
-
-define KernelPackage/tusb6010/description
-  TUSB6010 support
-endef
-
-$(eval $(call KernelPackage,tusb6010))
-
-
-define KernelPackage/usb-tahvo
-  TITLE:=Support for Tahvo (Nokia n810) USB
-  KCONFIG:= \
-       CONFIG_CBUS_TAHVO_USB \
-       CONFIG_CBUS_TAHVO_USB_HOST_BY_DEFAULT=n \
-       CONFIG_USB_OHCI_HCD_OMAP1=y \
-       CONFIG_USB_GADGET_DEBUG_FS=n
-  DEPENDS:=@TARGET_omap24xx +kmod-tusb6010 +kmod-usb-gadget
-  FILES:=$(LINUX_DIR)/drivers/cbus/tahvo-usb.ko
-  AUTOLOAD:=$(call AutoLoad,45,tahvo-usb)
-  $(call AddDepends/usb)
-endef
-
-define KernelPackage/usb-tahvo/description
-  Kernel support for Nokia n810 USB OHCI controller.
-endef
-
-$(eval $(call KernelPackage,usb-tahvo))
-
-
-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))
+$(eval $(call KernelPackage,usb2-fsl))
 
 
 define KernelPackage/usb2
   TITLE:=Support for USB2 controllers
+  DEPENDS:=+TARGET_brcm47xx:kmod-usb-brcm47xx +TARGET_mpc85xx:kmod-usb2-fsl
   KCONFIG:=CONFIG_USB_EHCI_HCD \
-    CONFIG_USB_EHCI_AR71XX=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_HCD_ORION=y \
+       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
 
@@ -213,6 +156,22 @@ endef
 $(eval $(call KernelPackage,usb2))
 
 
+define KernelPackage/usb2-pci
+  TITLE:=Support for PCI USB2 controllers
+  DEPENDS:=@PCI_SUPPORT @(LINUX_3_8||LINUX_3_9) +kmod-usb2
+  KCONFIG:=CONFIG_USB_EHCI_PCI
+  FILES:=$(LINUX_DIR)/drivers/usb/host/ehci-pci.ko
+  AUTOLOAD:=$(call AutoLoad,42,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
@@ -228,6 +187,22 @@ endef
 $(eval $(call KernelPackage,usb-acm))
 
 
+define KernelPackage/usb-wdm
+  TITLE:=USB Wireless Device Management
+  KCONFIG:=CONFIG_USB_WDM
+  FILES:=$(LINUX_DIR)/drivers/usb/class/cdc-wdm.ko
+  AUTOLOAD:=$(call AutoLoad,60,cdc-wdm)
+$(call AddDepends/usb)
+$(call AddDepends/usb-net)
+endef
+
+define KernelPackage/usb-wdm/description
+ USB Wireless Device Management support
+endef
+
+$(eval $(call KernelPackage,usb-wdm))
+
+
 define KernelPackage/usb-audio
   TITLE:=Support for USB audio devices
   KCONFIG:= \
@@ -292,21 +267,6 @@ define AddDepends/usb-serial
 endef
 
 
-define KernelPackage/usb-serial-airprime
-  TITLE:=Support for Airprime (EVDO)
-  KCONFIG:=CONFIG_USB_SERIAL_AIRPRIME
-  FILES:=$(LINUX_DIR)/drivers/usb/serial/airprime.ko
-  AUTOLOAD:=$(call AutoLoad,65,airprime)
-  $(call AddDepends/usb-serial)
-endef
-
-define KernelPackage/usb-serial-airprime/description
- Kernel support for Airprime (EVDO)
-endef
-
-$(eval $(call KernelPackage,usb-serial-airprime))
-
-
 define KernelPackage/usb-serial-belkin
   TITLE:=Support for Belkin devices
   KCONFIG:=CONFIG_USB_SERIAL_BELKIN
@@ -352,10 +312,25 @@ endef
 $(eval $(call KernelPackage,usb-serial-ftdi))
 
 
+define KernelPackage/usb-serial-ti-usb
+  TITLE:=Support for TI USB 3410/5052
+  KCONFIG:=CONFIG_USB_SERIAL_TI
+  FILES:=$(LINUX_DIR)/drivers/usb/serial/ti_usb_3410_5052.ko
+  AUTOLOAD:=$(call AutoLoad,65,ti_usb_3410_5052)
+  $(call AddDepends/usb-serial)
+endef
+
+define KernelPackage/usb-serial-ti-usb/description
+ Kernel support for TI USB 3410/5052 devices
+endef
+
+$(eval $(call KernelPackage,usb-serial-ti-usb))
+
+
 define KernelPackage/usb-serial-ipw
   TITLE:=Support for IPWireless 3G devices
   KCONFIG:=CONFIG_USB_SERIAL_IPW
-  FILES:=$(LINUX_DIR)/drivers/usb/serial/ipw.$(LINUX_KMOD_SUFFIX)
+  FILES:=$(LINUX_DIR)/drivers/usb/serial/ipw.ko
   AUTOLOAD:=$(call AutoLoad,65,ipw)
   $(call AddDepends/usb-serial)
 endef
@@ -546,7 +521,6 @@ $(eval $(call KernelPackage,usb-serial-keyspan))
 
 define KernelPackage/usb-serial-wwan
   TITLE:=Support for GSM and CDMA modems
-  DEPENDS:= @LINUX_2_6_35||LINUX_2_6_36||LINUX_2_6_37||LINUX_2_6_38
   KCONFIG:=CONFIG_USB_SERIAL_WWAN
   FILES:=$(LINUX_DIR)/drivers/usb/serial/usb_wwan.ko
   AUTOLOAD:=$(call AutoLoad,61,usb_wwan)
@@ -562,7 +536,7 @@ $(eval $(call KernelPackage,usb-serial-wwan))
 
 define KernelPackage/usb-serial-option
   TITLE:=Support for Option HSDPA modems
-  DEPENDS:=+LINUX_2_6_35||LINUX_2_6_36||LINUX_2_6_37||LINUX_2_6_38:kmod-usb-serial-wwan
+  DEPENDS:=+kmod-usb-serial-wwan
   KCONFIG:=CONFIG_USB_SERIAL_OPTION
   FILES:=$(LINUX_DIR)/drivers/usb/serial/option.ko
   AUTOLOAD:=$(call AutoLoad,65,option)
@@ -576,9 +550,24 @@ endef
 $(eval $(call KernelPackage,usb-serial-option))
 
 
+define KernelPackage/usb-serial-qualcomm
+  TITLE:=Support for Qualcomm USB serial
+  KCONFIG:=CONFIG_USB_SERIAL_QUALCOMM
+  FILES:=$(LINUX_DIR)/drivers/usb/serial/qcserial.ko
+  AUTOLOAD:=$(call AutoLoad,65,qcserial)
+  $(call AddDepends/usb-serial)
+endef
+
+define KernelPackage/usb-serial-qualcomm/description
+ Kernel support for Qualcomm USB Serial devices (Gobi)
+endef
+
+$(eval $(call KernelPackage,usb-serial-qualcomm))
+
+
 define KernelPackage/usb-storage
   TITLE:=USB Storage support
-  DEPENDS:= +!TARGET_x86:kmod-scsi-core
+  DEPENDS:= +kmod-scsi-core
   KCONFIG:=CONFIG_USB_STORAGE
   FILES:=$(LINUX_DIR)/drivers/usb/storage/usb-storage.ko
   AUTOLOAD:=$(call AutoLoad,60,usb-storage,1)
@@ -631,21 +620,6 @@ endef
 $(eval $(call KernelPackage,usb-storage-extras))
 
 
-define KernelPackage/usb-video
-  TITLE:=Support for USB video devices
-  KCONFIG:=CONFIG_VIDEO_USBVIDEO
-  FILES:=$(LINUX_DIR)/drivers/media/video/usbvideo/usbvideo.ko
-  AUTOLOAD:=$(call AutoLoad,61,usbvideo)
-  $(call AddDepends/usb)
-endef
-
-define KernelPackage/usb-video/description
- Kernel support for USB video devices
-endef
-
-$(eval $(call KernelPackage,usb-video))
-
-
 define KernelPackage/usb-atm
   TITLE:=Support for ATM on USB bus
   DEPENDS:=+kmod-atm
@@ -715,7 +689,7 @@ $(eval $(call KernelPackage,usb-atm-cxacru))
 
 define KernelPackage/usb-net
   TITLE:=Kernel modules for USB-to-Ethernet convertors
-  KCONFIG:=CONFIG_USB_USBNET
+  KCONFIG:=CONFIG_USB_USBNET CONFIG_MII=y
   AUTOLOAD:=$(call AutoLoad,60,usbnet)
   FILES:=$(LINUX_DIR)/drivers/$(USBNET_DIR)/usbnet.ko
   $(call AddDepends/usb)
@@ -840,6 +814,21 @@ endef
 $(eval $(call KernelPackage,usb-net-cdc-ether))
 
 
+define KernelPackage/usb-net-qmi-wwan
+  TITLE:=QMI WWAN driver
+  KCONFIG:=CONFIG_USB_NET_QMI_WWAN
+  FILES:= $(LINUX_DIR)/drivers/$(USBNET_DIR)/qmi_wwan.ko
+  AUTOLOAD:=$(call AutoLoad,61,qmi_wwan)
+  $(call AddDepends/usb-net,+kmod-usb-wdm)
+endef
+
+define KernelPackage/usb-net-qmi-wwan/description
+ QMI WWAN driver for Qualcomm MSM based 3G and LTE modems
+endef
+
+$(eval $(call KernelPackage,usb-net-qmi-wwan))
+
+
 define KernelPackage/usb-net-rndis
   TITLE:=Support for RNDIS connections
   KCONFIG:=CONFIG_USB_NET_RNDIS_HOST
@@ -854,6 +843,66 @@ endef
 
 $(eval $(call KernelPackage,usb-net-rndis))
 
+define KernelPackage/usb-net-cdc-mbim
+  SUBMENU:=$(USB_MENU)
+  TITLE:=Kernel module for MBIM Devices
+  KCONFIG:=CONFIG_USB_NET_CDC_MBIM
+  FILES:= \
+   $(LINUX_DIR)/drivers/$(USBNET_DIR)/cdc_mbim.ko
+  AUTOLOAD:=$(call AutoLoad,62,cdc_mbim)
+  $(call AddDepends/usb-net,+kmod-usb-wdm,+kmod-usb-net-cdc-ncm)
+endef
+
+define KernelPackage/usb-net-cdc-mbim/description
+ Kernel module for Option USB High Speed Mobile Devices
+endef
+
+$(eval $(call KernelPackage,usb-net-cdc-mbim))
+
+define KernelPackage/usb-net-cdc-ncm
+  TITLE:=Support for CDC NCM connections
+  KCONFIG:=CONFIG_USB_NET_CDC_NCM
+  FILES:= $(LINUX_DIR)/drivers/$(USBNET_DIR)/cdc_ncm.ko
+  AUTOLOAD:=$(call AutoLoad,61,cdc_ncm)
+  $(call AddDepends/usb-net)
+endef
+
+define KernelPackage/usb-net-cdc-ncm/description
+ Kernel support for CDC NCM connections
+endef
+
+$(eval $(call KernelPackage,usb-net-cdc-ncm))
+
+
+define KernelPackage/usb-net-sierrawireless
+  TITLE:=Support for Sierra Wireless devices
+  KCONFIG:=CONFIG_USB_SIERRA_NET
+  FILES:=$(LINUX_DIR)/drivers/net/usb/sierra_net.ko
+  AUTOLOAD:=$(call AutoLoad,65,sierra_net)
+  $(call AddDepends/usb-net)
+endef
+
+define KernelPackage/usb-net-sierrawireless/description
+ Kernel support for Sierra Wireless devices
+endef
+
+$(eval $(call KernelPackage,usb-net-sierrawireless))
+
+
+define KernelPackage/usb-net-ipheth
+  TITLE:=Apple iPhone USB Ethernet driver
+  KCONFIG:=CONFIG_USB_IPHETH
+  FILES:=$(LINUX_DIR)/drivers/net/usb/ipheth.ko
+  AUTOLOAD:=$(call AutoLoad,64,ipheth)
+  $(call AddDepends/usb-net)
+endef
+
+define KernelPackage/usb-net-ipheth/description
+ Kernel support for Apple iPhone USB Ethernet driver
+endef
+
+$(eval $(call KernelPackage,usb-net-ipheth))
+
 
 define KernelPackage/usb-hid
   TITLE:=Support for USB Human Input Devices
@@ -920,16 +969,34 @@ endef
 $(eval $(call KernelPackage,usb-test))
 
 
-define KernelPackage/usb-phidget
-  TITLE:=USB Phidget Driver
-  KCONFIG:=CONFIG_USB_PHIDGET CONFIG_USB_PHIDGETKIT CONFIG_USB_PHIDGETMOTORCONTROL CONFIG_USB_PHIDGETSERVO
-  FILES:=$(LINUX_DIR)/drivers/usb/misc/phidget*.ko
-$(call AddDepends/usb)
+define KernelPackage/usbip
+  TITLE := USB-over-IP kernel support
+  KCONFIG:= \
+       CONFIG_USBIP_CORE \
+       CONFIG_USBIP_DEBUG=n
+  FILES:=$(LINUX_DIR)/drivers/staging/usbip/usbip-core.ko
+  AUTOLOAD:=$(call AutoLoad,90,usbip-core)
+  $(call AddDepends/usb)
 endef
+$(eval $(call KernelPackage,usbip))
 
-define KernelPackage/usb-phidget/description
- Kernel support for USB Phidget devices.
+define KernelPackage/usbip-client
+  TITLE := USB-over-IP client driver
+  DEPENDS := +kmod-usbip
+  KCONFIG := CONFIG_USBIP_VHCI_HCD
+  FILES := $(LINUX_DIR)/drivers/staging/usbip/vhci-hcd.$(LINUX_KMOD_SUFFIX)
+  AUTOLOAD := $(call AutoLoad,95,vhci-hcd)
+  $(call AddDepends/usb)
 endef
+$(eval $(call KernelPackage,usbip-client))
 
-$(eval $(call KernelPackage,usb-phidget))
-
+define KernelPackage/usbip-server
+$(call KernelPackage/usbip/Default)
+  TITLE := USB-over-IP host driver
+  DEPENDS := +kmod-usbip
+  KCONFIG := CONFIG_USBIP_HOST
+  FILES := $(LINUX_DIR)/drivers/staging/usbip/usbip-host.ko
+  AUTOLOAD := $(call AutoLoad,95,usbip-host)
+  $(call AddDepends/usb)
+endef
+$(eval $(call KernelPackage,usbip-server))