+define KernelPackage/usb-roles
+ TITLE:=USB Role Switch Library Module
+ KCONFIG:=CONFIG_USB_ROLE_SWITCH
+ HIDDEN:=1
+ FILES:=$(LINUX_DIR)/drivers/usb/roles/roles.ko
+ $(call AddDepends/usb)
+endef
+
+define KernelPackage/usb-roles/description
+ Support for USB Role Switch
+endef
+
+$(eval $(call KernelPackage,usb-roles))
+
+
+define KernelPackage/usb-xhci-hcd
+ TITLE:=xHCI HCD (USB 3.0) support
+ KCONFIG:= \
+ CONFIG_USB_XHCI_HCD \
+ CONFIG_USB_XHCI_HCD_DEBUGGING=n
+ HIDDEN:=1
+ FILES:=$(LINUX_DIR)/drivers/usb/host/xhci-hcd.ko
+ AUTOLOAD:=$(call AutoLoad,54,xhci-hcd,1)
+ $(call AddDepends/usb)
+endef
+
+define KernelPackage/usb-xhci-hcd/description
+ The eXtensible Host Controller Interface (xHCI) is standard for USB 3.0
+ "SuperSpeed" host controller hardware.
+endef
+
+$(eval $(call KernelPackage,usb-xhci-hcd))
+
+
+define KernelPackage/usb-xhci-mtk
+ TITLE:=xHCI support for MediaTek SoCs
+ DEPENDS:=+kmod-usb-xhci-hcd
+ KCONFIG:=CONFIG_USB_XHCI_MTK
+ HIDDEN:=1
+ FILES:= \
+ $(LINUX_DIR)/drivers/usb/host/xhci-mtk.ko@lt5.13 \
+ $(LINUX_DIR)/drivers/usb/host/xhci-mtk-hcd.ko@ge5.13
+ AUTOLOAD:=$(call AutoLoad,54,xhci-mtk@lt5.13 xhci-mtk-hcd@gt5.13,1)
+ $(call AddDepends/usb)
+endef
+
+define KernelPackage/usb-xhci-mtk/description
+ Kernel support for the xHCI host controller found in MediaTek SoCs.
+endef
+
+$(eval $(call KernelPackage,usb-xhci-mtk))
+
+
+define KernelPackage/usb-xhci-pci-renesas
+ TITLE:=Support for additional Renesas xHCI controller with firmware
+ DEPENDS:=@LINUX_5_10
+ KCONFIG:=CONFIG_USB_XHCI_PCI_RENESAS
+ HIDDEN:=1
+ FILES:=$(LINUX_DIR)/drivers/usb/host/xhci-pci-renesas.ko
+ AUTOLOAD:=$(call AutoLoad,54,xhci-pci-renesas,1)
+ $(call AddDepends/usb)
+endef
+
+define KernelPackage/usb-xhci-pci-renesas/description
+ Kernel support for the Renesas xHCI controller with firmware. Make sure you have
+ the firwmare for the device and installed on your system for this device to work.
+endef
+
+$(eval $(call KernelPackage,usb-xhci-pci-renesas))
+
+
+define KernelPackage/chaoskey
+ SUBMENU:=$(USB_MENU)
+ TITLE:=Chaoskey hardware RNG support
+ DEPENDS:=+kmod-random-core
+ KCONFIG:=CONFIG_USB_CHAOSKEY
+ FILES:=$(LINUX_DIR)/drivers/usb/misc/chaoskey.ko
+ AUTOLOAD:=$(call AutoProbe,chaoskey)
+ $(call AddDepends/usb)
+endef
+
+define KernelPackage/chaoskey/description
+ Kernel module for chaoskey, USB attached true random number generator
+endef
+
+$(eval $(call KernelPackage,chaoskey))
+