162306a36Sopenharmony_ci# SPDX-License-Identifier: GPL-2.0
262306a36Sopenharmony_ci
362306a36Sopenharmony_ciconfig USBIP_CORE
462306a36Sopenharmony_ci	tristate "USB/IP support"
562306a36Sopenharmony_ci	depends on NET
662306a36Sopenharmony_ci	select USB_COMMON
762306a36Sopenharmony_ci	select SGL_ALLOC
862306a36Sopenharmony_ci	help
962306a36Sopenharmony_ci	  This enables pushing USB packets over IP to allow remote
1062306a36Sopenharmony_ci	  machines direct access to USB devices. It provides the
1162306a36Sopenharmony_ci	  USB/IP core that is required by both drivers.
1262306a36Sopenharmony_ci
1362306a36Sopenharmony_ci	  For more details, and to get the userspace utility
1462306a36Sopenharmony_ci	  programs, please see <http://usbip.sourceforge.net/>.
1562306a36Sopenharmony_ci
1662306a36Sopenharmony_ci	  To compile this as a module, choose M here: the module will
1762306a36Sopenharmony_ci	  be called usbip-core.
1862306a36Sopenharmony_ci
1962306a36Sopenharmony_ci	  If unsure, say N.
2062306a36Sopenharmony_ci
2162306a36Sopenharmony_ciconfig USBIP_VHCI_HCD
2262306a36Sopenharmony_ci	tristate "VHCI hcd"
2362306a36Sopenharmony_ci	depends on USBIP_CORE && USB
2462306a36Sopenharmony_ci	help
2562306a36Sopenharmony_ci	  This enables the USB/IP virtual host controller driver,
2662306a36Sopenharmony_ci	  which is run on the remote machine.
2762306a36Sopenharmony_ci
2862306a36Sopenharmony_ci	  To compile this driver as a module, choose M here: the
2962306a36Sopenharmony_ci	  module will be called vhci-hcd.
3062306a36Sopenharmony_ci
3162306a36Sopenharmony_ciconfig USBIP_VHCI_HC_PORTS
3262306a36Sopenharmony_ci	int "Number of ports per USB/IP virtual host controller"
3362306a36Sopenharmony_ci	range 1 15
3462306a36Sopenharmony_ci	default 8
3562306a36Sopenharmony_ci	depends on USBIP_VHCI_HCD
3662306a36Sopenharmony_ci	help
3762306a36Sopenharmony_ci	  To increase number of ports available for USB/IP virtual
3862306a36Sopenharmony_ci	  host controller driver, this defines number of ports per
3962306a36Sopenharmony_ci	  USB/IP virtual host controller.
4062306a36Sopenharmony_ci
4162306a36Sopenharmony_ciconfig USBIP_VHCI_NR_HCS
4262306a36Sopenharmony_ci	int "Number of USB/IP virtual host controllers"
4362306a36Sopenharmony_ci	range 1 128
4462306a36Sopenharmony_ci	default 1
4562306a36Sopenharmony_ci	depends on USBIP_VHCI_HCD
4662306a36Sopenharmony_ci	help
4762306a36Sopenharmony_ci	  To increase number of ports available for USB/IP virtual
4862306a36Sopenharmony_ci	  host controller driver, this defines number of USB/IP
4962306a36Sopenharmony_ci	  virtual host controllers as if adding physical host
5062306a36Sopenharmony_ci	  controllers.
5162306a36Sopenharmony_ci
5262306a36Sopenharmony_ciconfig USBIP_HOST
5362306a36Sopenharmony_ci	tristate "Host driver"
5462306a36Sopenharmony_ci	depends on USBIP_CORE && USB
5562306a36Sopenharmony_ci	help
5662306a36Sopenharmony_ci	  This enables the USB/IP host driver, which is run on the
5762306a36Sopenharmony_ci	  machine that is sharing the USB devices.
5862306a36Sopenharmony_ci
5962306a36Sopenharmony_ci	  To compile this driver as a module, choose M here: the
6062306a36Sopenharmony_ci	  module will be called usbip-host.
6162306a36Sopenharmony_ci
6262306a36Sopenharmony_ciconfig USBIP_VUDC
6362306a36Sopenharmony_ci	tristate "VUDC driver"
6462306a36Sopenharmony_ci	depends on USBIP_CORE && USB_GADGET
6562306a36Sopenharmony_ci	help
6662306a36Sopenharmony_ci	  This enables the USB/IP virtual USB device controller
6762306a36Sopenharmony_ci	  driver, which is run on the host machine, allowing the
6862306a36Sopenharmony_ci	  machine itself to act as a device.
6962306a36Sopenharmony_ci
7062306a36Sopenharmony_ci	  To compile this driver as a module, choose M here: the
7162306a36Sopenharmony_ci	  module will be called usbip-vudc.
7262306a36Sopenharmony_ci
7362306a36Sopenharmony_ciconfig USBIP_DEBUG
7462306a36Sopenharmony_ci	bool "Debug messages for USB/IP"
7562306a36Sopenharmony_ci	depends on USBIP_CORE
7662306a36Sopenharmony_ci	help
7762306a36Sopenharmony_ci	  This enables the debug messages from the USB/IP drivers.
78