config USBIP_CORE
	tristate "USB/IP support"
	depends on USB_COMMON && NET
	---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_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.
