#
# 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.

config USB_CCID_BRIDGE
	tristate "USB  Smart Card Class (CCID) support"
	help
	  Say Y here if you want to connect a USB Smart Card device that
	  follows the USB.org specification for Integrated Circuit(s) Cards
	  Interface Devices to your computer's USB port.  This module
	  provides a character device interface to exchange the messages.
	  Ioctls facilitate control transfers and interrupt transfers.

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