#
# 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_INPUT
	tristate "Input layer to RF switch connector"
	depends on RFKILL && INPUT
	help
	  Say Y here if you want kernel automatically toggle state
	  of RF switches on and off when user presses appropriate
	  button or a key on the keyboard. Without this module you
	  need a some kind of userspace application to control
	  state of the switches.

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