#
# WiMAX LAN device configuration
#

menuconfig WIMAX
	tristate "WiMAX Wireless Broadband support"
	help

	  Select to configure support for devices that provide
	  wireless broadband connectivity using the WiMAX protocol
	  (IEEE 802.16).

	  Please note that most of these devices require signing up
	  for a service plan with a provider.

	  The different WiMAX drivers can be enabled in the menu entry

	  Device Drivers > Network device support > WiMAX Wireless
	  Broadband devices

	  If unsure, it is safe to select M (module).

config WIMAX_DEBUG_LEVEL
	int "WiMAX debug level"
	depends on WIMAX
	default 8
	help

	  Select the maximum debug verbosity level to be compiled into
	  the WiMAX stack code.

	  By default, debug messages are disabled at runtime and can
	  be selectively enabled for different parts of the code using
	  the sysfs debug-levels file.

	  If set at zero, this will compile out all the debug code.

	  It is recommended that it is left at 8.
