config ATH_COMMON
	tristate

config WLAN_VENDOR_ATH
	bool "Atheros/Qualcomm devices"
	default y
	---help---
	  If you have a wireless card belonging to this class, say Y.

	  Note that the answer to this question doesn't directly affect the
	  kernel: saying N will just cause the configurator to skip all the
	  questions about these cards. If you say Y, you will be asked for
	  your specific card in the following questions.

	  For more information and documentation on this module you can visit:

	  http://wireless.kernel.org/en/users/Drivers/ath

	  For information on all Atheros wireless drivers visit:

	  http://wireless.kernel.org/en/users/Drivers/Atheros

if WLAN_VENDOR_ATH

config ATH_DEBUG
	bool "Atheros wireless debugging"
	---help---
	  Say Y, if you want to debug atheros wireless drivers.
	  Right now only ath9k makes use of this.

config ATH_TRACEPOINTS
       bool "Atheros wireless tracing"
       depends on ATH_DEBUG
       depends on EVENT_TRACING
       ---help---
         This option enables tracepoints for atheros wireless drivers.
	 Currently, ath9k makes use of this facility.

config ATH_REG_DYNAMIC_USER_REG_HINTS
	bool "Atheros dynamic user regulatory hints"
	depends on CFG80211_CERTIFICATION_ONUS
	default n
	---help---
	  Say N. This should only be enabled in countries where
	  this feature is explicitly allowed and only on cards that
	  specifically have been tested for this.

config ATH_REG_DYNAMIC_USER_CERT_TESTING
	bool "Atheros dynamic user regulatory testing"
	depends on ATH_REG_DYNAMIC_USER_REG_HINTS && CFG80211_CERTIFICATION_ONUS
	default n
	---help---
	  Say N. This should only be enabled on systems
	  undergoing certification testing.

source "drivers/net/wireless/ath/ath5k/Kconfig"
source "drivers/net/wireless/ath/ath9k/Kconfig"
source "drivers/net/wireless/ath/carl9170/Kconfig"
source "drivers/net/wireless/ath/ath6kl/Kconfig"
source "drivers/net/wireless/ath/ar5523/Kconfig"
source "drivers/net/wireless/ath/wil6210/Kconfig"
source "drivers/net/wireless/ath/ath10k/Kconfig"
source "drivers/net/wireless/ath/wcn36xx/Kconfig"

endif
