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 definitions"
	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.
