config ATH5K
	tristate "Atheros 5xxx wireless cards support"
	depends on (PCI || ATHEROS_AR231X) && MAC80211
	select ATH_COMMON
	select MAC80211_LEDS
	select LEDS_CLASS
	select NEW_LEDS
	select AVERAGE
	select ATH5K_AHB if (ATHEROS_AR231X && !PCI)
	select ATH5K_PCI if (!ATHEROS_AR231X && PCI)
	---help---
	  This module adds support for wireless adapters based on
	  Atheros 5xxx chipset.

	  Currently the following chip versions are supported:

	  MAC: AR5211 AR5212
	  PHY: RF5111/2111 RF5112/2112 RF5413/2413

	  This driver uses the kernel's mac80211 subsystem.

	  If you choose to build a module, it'll be called ath5k. Say M if
	  unsure.

config ATH5K_DEBUG
	bool "Atheros 5xxx debugging"
	depends on ATH5K
	---help---
	  Atheros 5xxx debugging messages.

	  Say Y, if and you will get debug options for ath5k.
	  To use this, you need to mount debugfs:

	  mount -t debugfs debug /sys/kernel/debug

	  You will get access to files under:
	  /sys/kernel/debug/ath5k/phy0/

	  To enable debug, pass the debug level to the debug module
	  parameter. For example:

	  modprobe ath5k debug=0x00000400

config ATH5K_TRACER
	bool "Atheros 5xxx tracer"
	depends on ATH5K
	depends on EVENT_TRACING
	---help---
	  Say Y here to enable tracepoints for the ath5k driver
	  using the kernel tracing infrastructure.  Select this
	  option if you are interested in debugging the driver.

	  If unsure, say N.

config ATH5K_AHB
	bool "Atheros 5xxx AHB bus support"
	depends on (ATHEROS_AR231X && !PCI)
	---help---
	  This adds support for WiSoC type chipsets of the 5xxx Atheros
	  family.

config ATH5K_PCI
	bool "Atheros 5xxx PCI bus support"
	depends on (!ATHEROS_AR231X && PCI)
	---help---
	  This adds support for PCI type chipsets of the 5xxx Atheros
	  family.

config ATH5K_TEST_CHANNELS
	bool "Enables testing channels on ath5k"
	depends on ATH5K && CFG80211_CERTIFICATION_ONUS
	---help---
	  This enables non-standard IEEE 802.11 channels on ath5k, which
	  can be used for research purposes. This option should be disabled
	  unless doing research.
