#
# 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
	  /sys/kernel/debug/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.
