config ATH10K
        tristate "Atheros 802.11ac wireless cards support"
        depends on m
        depends on MAC80211 && HAS_DMA
	select ATH_COMMON
        ---help---
          This module adds support for wireless adapters based on
          Atheros IEEE 802.11ac family of chipsets.

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

config ATH10K_PCI
	tristate "Atheros ath10k PCI support"
	depends on m
	depends on ATH10K && PCI
	---help---
	  This module adds support for PCIE bus

config ATH10K_DEBUG
	bool "Atheros ath10k debugging"
	depends on ATH10K
	---help---
	  Enables debug support

	  If unsure, say Y to make it easier to debug problems.

config ATH10K_DEBUGFS
	bool "Atheros ath10k debugfs support"
	depends on ATH10K && DEBUG_FS
	depends on RELAY
	---help---
	  Enabled debugfs support

	  If unsure, say Y to make it easier to debug problems.

config ATH10K_TRACING
	depends on !BACKPORT_KERNEL_3_4
	bool "Atheros ath10k tracing support"
	depends on ATH10K
	depends on EVENT_TRACING
	---help---
	  Select this to ath10k use tracing infrastructure.

config ATH10K_DFS_CERTIFIED
	bool "Atheros DFS support for certified platforms"
	depends on ATH10K && CFG80211_CERTIFICATION_ONUS
	default n
	---help---
	This option enables DFS support for initiating radiation on
	ath10k.

config ATH10K_USE_NCNB_DESCR
	bool "Atheros support for GFP_DMA_NCNB for descriptors"
	depends on ATH10K
	default n
	---help---
	  This option enables use of GFP_DMA_NCNB for descriptors
	  shared with the firmware, on platforms like the Mindspeed
	  Comcerto C2000.

config ATH10K_USE_NCNB_SKB
	bool "Atheros support for GFP_DMA_NCNB for sk_buffs"
	depends on ATH10K
	default n
	---help---
	  This option enables use of GFP_DMA_NCNB for sk_buffs on
	  platforms like the Mindspeed Comcerto C2000.

config ATH10K_USE_COMCERTO_WIFI_FASTPATH
	bool "Atheros support for comcerto_wifi_rx_fastpath"
	depends on ATH10K
	default n
	---help---
	  This option enables use of comcerto_wifi_rx_fastpath() on
	  Mindspeed Comcerto 2000 platforms.
