# SPDX-License-Identifier: GPL-2.0

config USBIP_CORE
	tristate "USB/IP support"
	depends on NET
	select USB_COMMON
	select SGL_ALLOC
	help
	  This enables pushing USB packets over IP to allow remote
	  machines direct access to USB devices. It provides the
	  USB/IP core that is required by both drivers.

	  For more details, and to get the userspace utility
	  programs, please see <http://usbip.sourceforge.net/>.

	  To compile this as a module, choose M here: the module will
	  be called usbip-core.

	  If unsure, say N.

config USBIP_VHCI_HCD
	tristate "VHCI hcd"
	depends on USBIP_CORE && USB
	help
	  This enables the USB/IP virtual host controller driver,
	  which is run on the remote machine.

	  To compile this driver as a module, choose M here: the
	  module will be called vhci-hcd.

config USBIP_VHCI_HC_PORTS
	int "Number of ports per USB/IP virtual host controller"
	range 1 15
	default 8
	depends on USBIP_VHCI_HCD
	help
	  To increase number of ports available for USB/IP virtual
	  host controller driver, this defines number of ports per
	  USB/IP virtual host controller.

config USBIP_VHCI_NR_HCS
	int "Number of USB/IP virtual host controllers"
	range 1 128
	default 1
	depends on USBIP_VHCI_HCD
	help
	  To increase number of ports available for USB/IP virtual
	  host controller driver, this defines number of USB/IP
	  virtual host controllers as if adding physical host
	  controllers.

config USBIP_HOST
	tristate "Host driver"
	depends on USBIP_CORE && USB
	help
	  This enables the USB/IP host driver, which is run on the
	  machine that is sharing the USB devices.

	  To compile this driver as a module, choose M here: the
	  module will be called usbip-host.

config USBIP_VUDC
	tristate "VUDC driver"
	depends on USBIP_CORE && USB_GADGET
	help
	  This enables the USB/IP virtual USB device controller
	  driver, which is run on the host machine, allowing the
	  machine itself to act as a device.

	  To compile this driver as a module, choose M here: the
	  module will be called usbip-vudc.

config USBIP_DEBUG
	bool "Debug messages for USB/IP"
	depends on USBIP_CORE
	help
	  This enables the debug messages from the USB/IP drivers.