#
# Wireless USB Core configuration
#
config USB_WUSB
	tristate "Enable Wireless USB extensions (EXPERIMENTAL)"
	depends on EXPERIMENTAL
	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.

