#
# RF switch subsystem configuration
#
menuconfig RFKILL
	tristate "RF switch subsystem support"
	help
	  Say Y here if you want to have control over RF switches
	  found on many WiFi and Bluetooth cards.

	  To compile this driver as a module, choose M here: the
	  module will be called rfkill.

config RFKILL_PM
	bool "Power off on suspend"
	depends on RFKILL && PM
	default y

# LED trigger support
config RFKILL_LEDS
	bool
	depends on RFKILL
	depends on LEDS_TRIGGERS = y || RFKILL = LEDS_TRIGGERS
	default y

config RFKILL_INPUT
	bool "RF switch input support" if EXPERT
	depends on RFKILL
	depends on INPUT = y || RFKILL = INPUT
	default y if !EXPERT
	
config RFKILL_GPIO
	tristate "GPIO RFKILL driver"
	depends on RFKILL && GPIOLIB
	default n
	help
		If you say yes here you get support of a generic gpio RFKILL
		driver. The platform should fill in the appropriate fields in the
		rfkill_gpio_platform_data structure and pass that to the driver.