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

