+define KernelPackage/usb-net-pegasus
+ TITLE:=Kernel module for USB-to-Ethernet Pegasus convertors
+ KCONFIG:=CONFIG_USB_PEGASUS
+ FILES:=$(LINUX_DIR)/drivers/$(USBNET_DIR)/pegasus.ko
+ AUTOLOAD:=$(call AutoLoad,61,pegasus)
+ $(call AddDepends/usb-net)
+endef
+
+define KernelPackage/usb-net-pegasus/description
+ Kernel module for USB-to-Ethernet Pegasus convertors
+endef
+
+$(eval $(call KernelPackage,usb-net-pegasus))
+
+
+define KernelPackage/usb-net-mcs7830
+ TITLE:=Kernel module for USB-to-Ethernet MCS7830 convertors
+ KCONFIG:=CONFIG_USB_NET_MCS7830
+ FILES:=$(LINUX_DIR)/drivers/$(USBNET_DIR)/mcs7830.ko
+ AUTOLOAD:=$(call AutoLoad,61,mcs7830)
+ $(call AddDepends/usb-net)
+endef
+
+define KernelPackage/usb-net-mcs7830/description
+ Kernel module for USB-to-Ethernet MCS7830 convertors
+endef
+
+$(eval $(call KernelPackage,usb-net-mcs7830))
+
+
+define KernelPackage/usb-net-dm9601-ether
+ TITLE:=Support for DM9601 ethernet connections
+ KCONFIG:=CONFIG_USB_NET_DM9601
+ FILES:=$(LINUX_DIR)/drivers/$(USBNET_DIR)/dm9601.ko
+ AUTOLOAD:=$(call AutoLoad,61,dm9601)
+ $(call AddDepends/usb-net)
+endef
+
+define KernelPackage/usb-net-dm9601-ether/description
+ Kernel support for USB DM9601 devices
+endef
+
+$(eval $(call KernelPackage,usb-net-dm9601-ether))
+
+define KernelPackage/usb-net-cdc-ether
+ TITLE:=Support for cdc ethernet connections
+ KCONFIG:=CONFIG_USB_NET_CDCETHER
+ FILES:=$(LINUX_DIR)/drivers/$(USBNET_DIR)/cdc_ether.ko
+ AUTOLOAD:=$(call AutoLoad,61,cdc_ether)
+ $(call AddDepends/usb-net)
+endef
+
+define KernelPackage/usb-net-cdc-ether/description
+ Kernel support for USB CDC Ethernet devices
+endef
+
+$(eval $(call KernelPackage,usb-net-cdc-ether))
+
+
+define KernelPackage/usb-net-rndis
+ TITLE:=Support for RNDIS connections
+ KCONFIG:=CONFIG_USB_NET_RNDIS_HOST
+ FILES:= $(LINUX_DIR)/drivers/$(USBNET_DIR)/rndis_host.ko
+ AUTOLOAD:=$(call AutoLoad,62,rndis_host)
+ $(call AddDepends/usb-net,+kmod-usb-net-cdc-ether)
+endef
+
+define KernelPackage/usb-net-rndis/description
+ Kernel support for RNDIS connections
+endef
+
+$(eval $(call KernelPackage,usb-net-rndis))
+
+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
+ KCONFIG:=CONFIG_HID_SUPPORT=y CONFIG_USB_HID CONFIG_USB_HIDDEV=y
+ FILES:=$(LINUX_DIR)/drivers/$(USBHID_DIR)/usbhid.ko
+ AUTOLOAD:=$(call AutoLoad,70,usbhid)
+ $(call AddDepends/usb)
+ $(call AddDepends/hid)
+ $(call AddDepends/input,+kmod-input-evdev)
+endef
+
+
+define KernelPackage/usb-hid/description
+ Kernel support for USB HID devices such as keyboards and mice
+endef
+
+$(eval $(call KernelPackage,usb-hid))
+
+
+define KernelPackage/usb-yealink
+ TITLE:=USB Yealink VOIP phone
+ KCONFIG:=CONFIG_USB_YEALINK CONFIG_INPUT_YEALINK CONFIG_INPUT=m CONFIG_INPUT_MISC=y
+ FILES:=$(LINUX_DIR)/drivers/$(USBINPUT_DIR)/yealink.ko
+ AUTOLOAD:=$(call AutoLoad,70,yealink)
+ $(call AddDepends/usb)
+ $(call AddDepends/input,+kmod-input-evdev)
+endef
+
+define KernelPackage/usb-yealink/description
+ Kernel support for Yealink VOIP phone
+endef
+
+$(eval $(call KernelPackage,usb-yealink))
+
+
+define KernelPackage/usb-cm109
+ TITLE:=Support for CM109 device
+ KCONFIG:=CONFIG_USB_CM109 CONFIG_INPUT_CM109 CONFIG_INPUT=m CONFIG_INPUT_MISC=y
+ FILES:=$(LINUX_DIR)/drivers/$(USBINPUT_DIR)/cm109.ko
+ AUTOLOAD:=$(call AutoLoad,70,cm109)
+ $(call AddDepends/usb)
+ $(call AddDepends/input,+kmod-input-evdev)
+endef
+
+define KernelPackage/usb-cm109/description
+ Kernel support for CM109 VOIP phone
+endef
+
+$(eval $(call KernelPackage,usb-cm109))
+
+
+define KernelPackage/usb-test
+ TITLE:=USB Testing Driver
+ DEPENDS:=@DEVEL
+ KCONFIG:=CONFIG_USB_TEST
+ FILES:=$(LINUX_DIR)/drivers/usb/misc/usbtest.ko
+ $(call AddDepends/usb)
+endef
+
+define KernelPackage/usb-test/description
+ Kernel support for testing USB Host Controller software.
+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)
+endef
+
+define KernelPackage/usb-phidget/description
+ Kernel support for USB Phidget devices.
+endef
+
+$(eval $(call KernelPackage,usb-phidget))
+
+define KernelPackage/usb-rt305x-dwc_otg
+ TITLE:=RT305X USB controller driver
+ DEPENDS:=@TARGET_ramips_rt305x
+ KCONFIG:= \
+ CONFIG_DWC_OTG \
+ CONFIG_DWC_OTG_HOST_ONLY=y \
+ CONFIG_DWC_OTG_DEVICE_ONLY=n \
+ CONFIG_DWC_OTG_DEBUG=n
+ FILES:=$(LINUX_DIR)/drivers/usb/dwc_otg/dwc_otg.ko
+ AUTOLOAD:=$(call AutoLoad,54,dwc_otg,1)
+ $(call AddDepends/usb)
+endef
+
+define KernelPackage/usb-rt305x-dwc_otg/description
+ This driver provides USB Device Controller support for the
+ Synopsys DesignWare USB OTG Core used in the Ralink RT305X SoCs.
+endef
+
+$(eval $(call KernelPackage,usb-rt305x-dwc_otg))
+
+define KernelPackage/usb-brcm47xx
+ SUBMENU:=$(USB_MENU)
+ TITLE:=Support for USB on bcm47xx
+ DEPENDS:=@USB_SUPPORT @TARGET_brcm47xx
+ KCONFIG:= \
+ CONFIG_USB_HCD_BCMA \
+ CONFIG_USB_HCD_SSB
+ FILES:= \
+ $(LINUX_DIR)/drivers/usb/host/bcma-hcd.ko \
+ $(LINUX_DIR)/drivers/usb/host/ssb-hcd.ko
+ AUTOLOAD:=$(call AutoLoad,19,bcma-hcd ssb-hcd,1)
+ $(call AddDepends/usb)
+endef