#
# USB Class driver configuration
#
comment "USB Device Class drivers"

config USB_ACM
	tristate "USB Modem (CDC ACM) support"
	depends on TTY
	---help---
	  This driver supports USB modems and ISDN adapters which support the
	  Communication Device Class Abstract Control Model interface.
	  Please read <file:Documentation/usb/acm.txt> for details.

	  If your modem only reports "Cls=ff(vend.)" in the descriptors in
	  /proc/bus/usb/devices, then your modem will not work with this
	  driver.

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

config USB_PRINTER
	tristate "USB Printer support"
	help
	  Say Y here if you want to connect a USB printer to your computer's
	  USB port.

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

config USB_WDM
	tristate "USB Wireless Device Management support"
	---help---
	  This driver supports the WMC Device Management functionality
	  of cell phones compliant to the CDC WMC specification. You can use
	  AT commands over this device.

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

config USB_TMC
	tristate "USB Test and Measurement Class support"
	help
	  Say Y here if you want to connect a USB device that follows
	  the USB.org specification for USB Test and Measurement devices
	  to your computer's USB port.

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