config CARL9170
	tristate "Linux Community AR9170 802.11n USB support"
	depends on m
	depends on USB && MAC80211
	select ATH_COMMON
	depends on FW_LOADER
	depends on CRC32
	help
	  This is another driver for the Atheros "otus" 802.11n USB devices.

	  This driver provides more features than the original,
	  but it needs a special firmware (carl9170-1.fw) to do that.

	  The firmware can be downloaded from our wiki here:
	  <http://wireless.kernel.org/en/users/Drivers/carl9170>

	  If you choose to build a module, it'll be called carl9170.

config CARL9170_LEDS
	bool "SoftLED Support"
	depends on CARL9170
	select MAC80211_LEDS
	select BACKPORT_LEDS_CLASS
	select BACKPORT_NEW_LEDS
	default y
	help
	  This option is necessary, if you want your device' LEDs to blink

	  Say Y, unless you need the LEDs for firmware debugging.

config CARL9170_DEBUGFS
	bool "DebugFS Support"
	depends on CARL9170 && DEBUG_FS && MAC80211_DEBUGFS
	default n
	help
	  Export several driver and device internals to user space.

	  Say N.

config CARL9170_WPC
	bool
	depends on CARL9170 && (INPUT = y || INPUT = CARL9170)
	default y

config CARL9170_HWRNG
        bool "Random number generator"
        depends on CARL9170 && (HW_RANDOM = y || HW_RANDOM = CARL9170)
        default n
	help
	  Provides a hardware random number generator to the kernel.

	  SECURITY WARNING: It's relatively easy to eavesdrop all
	  generated random numbers from the transport stream with
	  usbmon [software] or special usb sniffer hardware.

	  Say N, unless your setup[i.e.: embedded system] has no
	  other rng source and you can afford to take the risk.
