#
# Wireless USB Core configuration
#
config USB_WUSB
	tristate "Enable Wireless USB extensions"
	depends on USB
        select UWB
        select CRYPTO
        select CRYPTO_BLKCIPHER
        select CRYPTO_CBC
        select CRYPTO_MANAGER
        select CRYPTO_AES
	help
	  Enable the host-side support for Wireless USB.

          To compile this support select Y (built in). It is safe to
	  select even if you don't have the hardware.

config USB_WUSB_CBAF
	tristate "Support WUSB Cable Based Association (CBA)"
	depends on USB
	help
	  Some WUSB devices support Cable Based Association. It's used to
	  enable the secure communication between the host and the
	  device.

	  Enable this option if your WUSB device must to be connected
	  via wired USB before establishing a wireless link.

	  It is safe to select even if you don't have a compatible
	  hardware.

config USB_WUSB_CBAF_DEBUG
	bool "Enable CBA debug messages"
	depends on USB_WUSB_CBAF
	help
	  Say Y here if you want the CBA to produce a bunch of debug messages
	  to the system log. Select this if you are having a problem with
	  CBA support and want to see more of what is going on.

