config ATH5K
	tristate "Atheros 5xxx wireless cards support"
	depends on m
	depends on (PCI || ATH25) && MAC80211
	select ATH_COMMON
	select MAC80211_LEDS
	select BPAUTO_LEDS_CLASS
	select BPAUTO_NEW_LEDS
	select ATH5K_AHB if ATH25
	select ATH5K_PCI if !ATH25
	---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 ATH25
	---help---
	  This adds support for WiSoC type chipsets of the 5xxx Atheros
	  family.

config ATH5K_PCI
	bool "Atheros 5xxx PCI bus support"
	depends on (!ATH25 && 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.
