config CFG80211
        tristate "Improved wireless configuration API"

config NL80211
	bool "nl80211 new netlink interface support"
	depends on CFG80211
	default y
	---help---
	  This option turns on the new netlink interface
	  (nl80211) support in cfg80211.

	  If =n, drivers using mac80211 will be configured via
	  wireless extension support provided by that subsystem.

	  If unsure, say Y.

config WIRELESS_OLD_REGULATORY
	bool "Old wireless static regulatory defintions"
	default n
	---help---
	  This option enables the old static regulatory information
	  and uses it within the new framework. This is available
	  temporarily as an option to help prevent immediate issues
	  due to the switch to the new regulatory framework which
	  does require a new userspace application which has the
	  database of regulatory information (CRDA) and another for
	  setting regulatory domains (iw).

	  For more information see:

	  http://wireless.kernel.org/en/developers/Regulatory/CRDA
	  http://wireless.kernel.org/en/users/Documentation/iw

	  It is important to note though that if you *do* have CRDA present
	  and if this option is enabled CRDA *will* be called to update the
	  regulatory domain (for US and JP only). Support for letting the user
	  set the regulatory domain through iw is also supported. This option
	  mainly exists to leave around for a kernel release some old static
	  regulatory domains that were defined and to keep around the old
	  ieee80211_regdom module parameter. This is being phased out and you
	  should stop using them ASAP.

	  Say N unless you cannot install a new userspace application
	  or have one currently depending on the ieee80211_regdom module
	  parameter and cannot port it to use the new userspace interfaces.

	  This is scheduled for removal for 2.6.29.

config WIRELESS_EXT
	bool "Wireless extensions"
	default n
	---help---
	  This option enables the legacy wireless extensions
	  (wireless network interface configuration via ioctls.)

	  Wireless extensions will be replaced by cfg80211 and
	  will be required only by legacy drivers that implement
	  wireless extension handlers. This option does not
	  affect the wireless-extension backward compatibility
	  code in cfg80211.

	  Say N (if you can) unless you know you need wireless
	  extensions for external modules.

config WIRELESS_EXT_SYSFS
	bool "Wireless extensions sysfs files"
	default y
	depends on WIRELESS_EXT && SYSFS
	help
	  This option enables the deprecated wireless statistics
	  files in /sys/class/net/*/wireless/. The same information
	  is available via the ioctls as well.

	  Say Y if you have programs using it, like old versions of
	  hal.
