#
# LIRC driver(s) configuration
#
menuconfig LIRC_STAGING
	bool "Linux Infrared Remote Control IR receiver/transmitter drivers"
	help
	  Say Y here, and all supported Linux Infrared Remote Control IR and
	  RF receiver and transmitter drivers will be displayed. When paired
	  with a remote control and the lirc daemon, the receiver drivers
	  allow control of your Linux system via remote control.

if LIRC_STAGING

config LIRC_BT829
        tristate "BT829 based hardware"
	depends on LIRC_STAGING
	help
	  Driver for the IR interface on BT829-based hardware

config LIRC_ENE0100
	tristate "ENE KB3924/ENE0100 CIR Port Reciever"
	depends on LIRC_STAGING
	help
	  This is a driver for CIR port handled by ENE KB3924 embedded
	  controller found on some notebooks.
	  It appears on PNP list as ENE0100.

config LIRC_I2C
	tristate "I2C Based IR Receivers"
	depends on LIRC_STAGING
	help
	  Driver for I2C-based IR receivers, such as those commonly
	  found onboard Hauppauge PVR-150/250/350 video capture cards

config LIRC_IGORPLUGUSB
	tristate "Igor Cesko's USB IR Receiver"
	depends on LIRC_STAGING && USB
	help
	  Driver for Igor Cesko's USB IR Receiver

config LIRC_IMON
	tristate "Legacy SoundGraph iMON Receiver and Display"
	depends on LIRC_STAGING
	help
	  Driver for the original SoundGraph iMON IR Receiver and Display

	  Current generation iMON devices use the input layer imon driver.

config LIRC_IT87
	tristate "ITE IT87XX CIR Port Receiver"
	depends on LIRC_STAGING
	help
	  Driver for the ITE IT87xx IR Receiver

config LIRC_ITE8709
	tristate "ITE8709 CIR Port Receiver"
	depends on LIRC_STAGING && PNP
	help
	  Driver for the ITE8709 IR Receiver

config LIRC_PARALLEL
	tristate "Homebrew Parallel Port Receiver"
	depends on LIRC_STAGING && !SMP
	help
	  Driver for Homebrew Parallel Port Receivers

config LIRC_SASEM
	tristate "Sasem USB IR Remote"
	depends on LIRC_STAGING
	help
	  Driver for the Sasem OnAir Remocon-V or Dign HV5 HTPC IR/VFD Module

config LIRC_SERIAL
	tristate "Homebrew Serial Port Receiver"
	depends on LIRC_STAGING
	help
	  Driver for Homebrew Serial Port Receivers

config LIRC_SERIAL_TRANSMITTER
	bool "Serial Port Transmitter"
	default y
	depends on LIRC_SERIAL
	help
	  Serial Port Transmitter support

config LIRC_SIR
	tristate "Built-in SIR IrDA port"
	depends on LIRC_STAGING
	help
	  Driver for the SIR IrDA port

config LIRC_STREAMZAP
	tristate "Streamzap PC Receiver"
	depends on LIRC_STAGING
	help
	  Driver for the Streamzap PC Receiver

config LIRC_TTUSBIR
	tristate "Technotrend USB IR Receiver"
	depends on LIRC_STAGING && USB
	help
	  Driver for the Technotrend USB IR Receiver

config LIRC_ZILOG
	tristate "Zilog/Hauppauge IR Transmitter"
	depends on LIRC_STAGING
	help
	  Driver for the Zilog/Hauppauge IR Transmitter, found on
	  PVR-150/500, HVR-1200/1250/1700/1800, HD-PVR and other cards
endif
