config ATH5K
	tristate "Atheros 5xxx wireless cards support"
	depends on m
	depends on (PCI || ATHEROS_AR231X) && MAC80211
	select ATH_COMMON
	select MAC80211_LEDS
	select BACKPORT_LEDS_CLASS
	select BACKPORT_NEW_LEDS
	select BACKPORT_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.
