config COMEDI
	tristate "Data acquisition support (comedi)"
	depends on m
	---help---
	  Enable support a wide range of data acquisition devices
	  for Linux.

if COMEDI

config COMEDI_DEBUG
	bool "Comedi debugging"
	---help---
	  This is an option for use by developers; most people should
	  say N here. This enables comedi core and driver debugging.

config COMEDI_DEFAULT_BUF_SIZE_KB
	int "Comedi default initial asynchronous buffer size in KiB"
	default "2048"
	---help---
	  This is the default asynchronous buffer size which is used for
	  commands running in the background in kernel space.  This
	  defaults to 2048 KiB of memory so that a 16 channel card
	  running at 10 kHz has of 2-4 seconds of buffer.

config COMEDI_DEFAULT_BUF_MAXSIZE_KB
	int "Comedi default maximum asynchronous buffer size in KiB"
	default "20480"
	---help---
	  This is the default maximum asynchronous buffer size which can
	  be requested by a userspace program without root privileges.
	  This is set to 20480 KiB so that a fast I/O card with 16
	  channels running at 100 kHz has 2-4 seconds of buffer.

menuconfig COMEDI_MISC_DRIVERS
	bool "Comedi misc drivers"
	---help---
	  Enable comedi misc drivers to be built

	  Note that the answer to this question won't directly affect the
	  kernel: saying N will just cause the configurator to skip all
	  the questions about misc non-hardware comedi drivers.

if COMEDI_MISC_DRIVERS

config COMEDI_BOND
	tristate "Comedi device bonding support"
	select COMEDI_KCOMEDILIB
	---help---
	  Enable support for a driver to 'bond' (merge) multiple subdevices
	  from multiple devices together as one.

	  Currently, it only handles digital I/O subdevices.

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

config COMEDI_TEST
	tristate "Fake waveform generator support"
	---help---
	  Enable support for the fake waveform generator.
	  This driver is mainly for testing purposes, but can also be used to
	  generate sample waveforms on systems that don't have data acquisition
	  hardware.

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

config COMEDI_PARPORT
	tristate "Parallel port support"
	---help---
	  Enable support for the standard parallel port.
	  A cheap and easy way to get a few more digital I/O lines. Steal
	  additional parallel ports from old computers or your neighbors'
	  computers.

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

config COMEDI_SERIAL2002
	tristate "Driver for serial connected hardware"
	---help---
	  Enable support for serial connected hardware

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

config COMEDI_SSV_DNP
	tristate "SSV Embedded Systems DIL/Net-PC support"
	depends on X86_32 || COMPILE_TEST
	---help---
	  Enable support for SSV Embedded Systems DIL/Net-PC

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

endif # COMEDI_MISC_DRIVERS

menuconfig COMEDI_ISA_DRIVERS
	bool "Comedi ISA and PC/104 drivers"
	---help---
	  Enable comedi ISA and PC/104 drivers to be built

	  Note that the answer to this question won't directly affect the
	  kernel: saying N will just cause the configurator to skip all
	  the questions about ISA and PC/104 comedi drivers.

if COMEDI_ISA_DRIVERS

config COMEDI_PCL711
	tristate "Advantech PCL-711/711b and ADlink ACL-8112 ISA card support"
	---help---
	  Enable support for Advantech PCL-711 and 711b, ADlink ACL-8112

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

config COMEDI_PCL724
	tristate "Advantech PCL-722/724/731 and ADlink ACL-7122/7124/PET-48DIO"
	select COMEDI_8255
	---help---
	  Enable support for ISA and PC/104 based 8255 digital i/o boards. This
	  driver provides a legacy comedi driver wrapper for the generic 8255
	  support driver.

	  Supported boards include:
	    Advantech PCL-724            24 channels
	    Advantech PCL-722            144 (or 96) channels
	    Advantech PCL-731            48 channels
	    ADlink ACL-7122              144 (or 96) channels
	    ADlink ACL-7124              24 channels
	    ADlink PET-48DIO             48 channels
	    WinSystems PCM-IO48          48 channels (PC/104)
	    Diamond Systems ONYX-MM-DIO  48 channels (PC/104)

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

config COMEDI_PCL726
	tristate "Advantech PCL-726 and compatible ISA card support"
	---help---
	  Enable support for Advantech PCL-726 and compatible ISA cards.

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

config COMEDI_PCL730
	tristate "Simple Digital I/O board support (8-bit ports)"
	---help---
	  Enable support for various simple ISA or PC/104 Digital I/O boards.
	  These boards all use 8-bit I/O ports.

	  Advantech PCL-730             iso - 16 in/16 out  ttl - 16 in/16 out
	  ICP ISO-730                   iso - 16 in/16 out  ttl - 16 in/16 out
	  ADlink ACL-7130               iso - 16 in/16 out  ttl - 16 in/16 out
	  Advantech PCM-3730            iso - 8 in/8 out    ttl - 16 in/16 out
	  Advantech PCL-725             iso - 8 in/8 out
	  ICP P8R8-DIO                  iso - 8 in/8 out
	  ADlink ACL-7225b              iso - 16 in/16 out
	  ICP P16R16-DIO                iso - 16 in/16 out
	  Advantech PCL-733             iso - 32 in
	  Advantech PCL-734             iso - 32 out
	  Diamond Systems OPMM-1616-XT  iso - 16 in/16 out
	  Diamond Systems PEARL-MM-P    iso - 16 out
	  Diamond Systems IR104-PBF     iso - 20 in/20 out

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

config COMEDI_PCL812
	tristate "Advantech PCL-812/813 and ADlink ACL-8112/8113/8113/8216"
	depends on ISA_DMA_API
	---help---
	  Enable support for Advantech PCL-812/PG, PCL-813/B, ADLink
	  ACL-8112DG/HG/PG, ACL-8113, ACL-8216, ICP DAS A-821PGH/PGL/PGL-NDA,
	  A-822PGH/PGL, A-823PGH/PGL, A-826PG and ICP DAS ISO-813 ISA cards

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

config COMEDI_PCL816
	tristate "Advantech PCL-814 and PCL-816 ISA card support"
	depends on ISA_DMA_API
	---help---
	  Enable support for Advantech PCL-814 and PCL-816 ISA cards

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

config COMEDI_PCL818
	tristate "Advantech PCL-718 and PCL-818 ISA card support"
	select COMEDI_ISADMA if ISA_DMA_API
	---help---
	  Enable support for Advantech PCL-818 ISA cards
	  PCL-818L, PCL-818H, PCL-818HD, PCL-818HG, PCL-818 and PCL-718

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

config COMEDI_PCM3724
	tristate "Advantech PCM-3724 PC/104 card support"
	select COMEDI_8255
	---help---
	  Enable support for Advantech PCM-3724 PC/104 cards.

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

config COMEDI_AMPLC_DIO200_ISA
	tristate "Amplicon PC212E/PC214E/PC215E/PC218E/PC272E"
	select COMEDI_AMPLC_DIO200
	---help---
	  Enable support for Amplicon PC212E, PC214E, PC215E, PC218E and
	  PC272E ISA DIO boards

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

config COMEDI_AMPLC_PC236_ISA
	tristate "Amplicon PC36AT DIO board support"
	select COMEDI_AMPLC_PC236
	---help---
	  Enable support for Amplicon PC36AT ISA DIO board.

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

config COMEDI_AMPLC_PC263_ISA
	tristate "Amplicon PC263 relay board support"
	---help---
	  Enable support for Amplicon PC263 ISA relay board.  This board has
	  16 reed relay output channels.

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

config COMEDI_RTI800
	tristate "Analog Devices RTI-800/815 ISA card support"
	---help---
	  Enable support for Analog Devices RTI-800/815 ISA cards

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

config COMEDI_RTI802
	tristate "Analog Devices RTI-802 ISA card support"
	---help---
	  Enable support for Analog Devices RTI-802 ISA cards

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

config COMEDI_DAC02
	tristate "Keithley Metrabyte DAC02 compatible ISA card support"
	---help---
	  Enable support for Keithley Metrabyte DAC02 compatible ISA cards.

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

config COMEDI_DAS16M1
	tristate "MeasurementComputing CIO-DAS16/M1DAS-16 ISA card support"
	select COMEDI_8255
	---help---
	  Enable support for Measurement Computing CIO-DAS16/M1 ISA cards.

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

config COMEDI_DAS08_ISA
	tristate "DAS-08 compatible ISA and PC/104 card support"
	select COMEDI_DAS08
	---help---
	  Enable support for Keithley Metrabyte/ComputerBoards DAS08
	  and compatible ISA and PC/104 cards:
	  Keithley Metrabyte/ComputerBoards DAS08, DAS08-PGM, DAS08-PGH,
	  DAS08-PGL, DAS08-AOH, DAS08-AOL, DAS08-AOM, DAS08/JR-AO,
	  DAS08/JR-16-AO, PC104-DAS08, DAS08/JR/16.

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

config COMEDI_DAS16
	tristate "DAS-16 compatible ISA and PC/104 card support"
	depends on ISA_DMA_API
	select COMEDI_8255
	---help---
	  Enable support for Keithley Metrabyte/ComputerBoards DAS16
	  and compatible ISA and PC/104 cards:
	  Keithley Metrabyte DAS-16, DAS-16G, DAS-16F, DAS-1201, DAS-1202,
	  DAS-1401, DAS-1402, DAS-1601, DAS-1602 and
	  ComputerBoards/MeasurementComputing PC104-DAS16/JR/,
	  PC104-DAS16JR/16, CIO-DAS16JR/16, CIO-DAS16/JR, CIO-DAS1401/12,
	  CIO-DAS1402/12, CIO-DAS1402/16, CIO-DAS1601/12, CIO-DAS1602/12,
	  CIO-DAS1602/16, CIO-DAS16/330

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

config COMEDI_DAS800
	tristate "DAS800 and compatible ISA card support"
	---help---
	  Enable support for Keithley Metrabyte DAS800 and compatible ISA cards
	  Keithley Metrabyte DAS-800, DAS-801, DAS-802
	  Measurement Computing CIO-DAS800, CIO-DAS801, CIO-DAS802 and
	  CIO-DAS802/16

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

config COMEDI_DAS1800
	tristate "DAS1800 and compatible ISA card support"
	depends on ISA_DMA_API
	---help---
	  Enable support for DAS1800 and compatible ISA cards
	  Keithley Metrabyte DAS-1701ST, DAS-1701ST-DA, DAS-1701/AO,
	  DAS-1702ST, DAS-1702ST-DA, DAS-1702HR, DAS-1702HR-DA, DAS-1702/AO,
	  DAS-1801ST, DAS-1801ST-DA, DAS-1801HC, DAS-1801AO, DAS-1802ST,
	  DAS-1802ST-DA, DAS-1802HR, DAS-1802HR-DA, DAS-1802HC and
	  DAS-1802AO

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

config COMEDI_DAS6402
	tristate "DAS6402 and compatible ISA card support"
	---help---
	  Enable support for DAS6402 and compatible ISA cards
	  Computerboards, Keithley Metrabyte DAS6402 and compatibles

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

config COMEDI_DT2801
	tristate "Data Translation DT2801 ISA card support"
	---help---
	  Enable support for Data Translation DT2801 ISA cards

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

config COMEDI_DT2811
	tristate "Data Translation DT2811 ISA card support"
	---help---
	  Enable support for Data Translation DT2811 ISA cards

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

config COMEDI_DT2814
	tristate "Data Translation DT2814 ISA card support"
	---help---
	  Enable support for Data Translation DT2814 ISA cards

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

config COMEDI_DT2815
	tristate "Data Translation DT2815 ISA card support"
	---help---
	  Enable support for Data Translation DT2815 ISA cards

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

config COMEDI_DT2817
	tristate "Data Translation DT2817 ISA card support"
	---help---
	  Enable support for Data Translation DT2817 ISA cards

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

config COMEDI_DT282X
	tristate "Data Translation DT2821 series and DT-EZ ISA card support"
	depends on ISA_DMA_API
	---help---
	  Enable support for Data Translation DT2821 series including DT-EZ
	  DT2821, DT2821-F-16SE, DT2821-F-8DI, DT2821-G-16SE, DT2821-G-8DI,
	  DT2823 (dt2823), DT2824-PGH, DT2824-PGL, DT2825, DT2827, DT2828,
	  DT21-EZ, DT23-EZ, DT24-EZ and DT24-EZ-PGL

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

config COMEDI_DMM32AT
	tristate "Diamond Systems MM-32-AT PC/104 board support"
	select COMEDI_8255
	---help---
	  Enable support for Diamond Systems MM-32-AT PC/104 boards

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

config COMEDI_UNIOXX5
	tristate "Fastwel UNIOxx-5 analog and digital io board support"
	---help---
	  Enable support for Fastwel UNIOxx-5 (analog and digital i/o) boards

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

config COMEDI_FL512
	tristate "FL512 ISA card support"
	---help---
	  Enable support for FL512 ISA card

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

config COMEDI_AIO_AIO12_8
	tristate "I/O Products PC/104 AIO12-8 Analog I/O Board support"
	select COMEDI_8255
	---help---
	  Enable support for I/O Products PC/104 AIO12-8 Analog I/O Board

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

config COMEDI_AIO_IIRO_16
	tristate "I/O Products PC/104 IIRO16 Board support"
	---help---
	  Enable support for I/O Products PC/104 IIRO16 Relay And Isolated
	  Input Board

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

config COMEDI_II_PCI20KC
	tristate "Intelligent Instruments PCI-20001C carrier support"
	depends on HAS_IOMEM
	---help---
	  Enable support for Intelligent Instruments PCI-20001C carrier
	  PCI-20001, PCI-20006 and PCI-20341

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

config COMEDI_C6XDIGIO
	tristate "Mechatronic Systems Inc. C6x_DIGIO DSP daughter card support"
	---help---
	  Enable support for Mechatronic Systems Inc. C6x_DIGIO DSP daughter
	  card

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

config COMEDI_MPC624
	tristate "Micro/sys MPC-624 PC/104 board support"
	---help---
	  Enable support for Micro/sys MPC-624 PC/104 board

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

config COMEDI_ADQ12B
	tristate "MicroAxial ADQ12-B data acquisition and control card support"
	---help---
	  Enable MicroAxial ADQ12-B daq and control card support.

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

config COMEDI_NI_AT_A2150
	tristate "NI AT-A2150 ISA card support"
	depends on ISA_DMA_API
	---help---
	  Enable support for National Instruments AT-A2150 cards

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

config COMEDI_NI_AT_AO
	tristate "NI AT-AO-6/10 EISA card support"
	---help---
	  Enable support for National Instruments AT-AO-6/10 cards

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

config COMEDI_NI_ATMIO
	tristate "NI AT-MIO E series ISA-PNP card support"
	select COMEDI_8255
	select COMEDI_NI_TIO
	---help---
	  Enable support for National Instruments AT-MIO E series cards
	  National Instruments AT-MIO-16E-1 (ni_atmio),
	  AT-MIO-16E-2, AT-MIO-16E-10, AT-MIO-16DE-10, AT-MIO-64E-3,
	  AT-MIO-16XE-50, AT-MIO-16XE-10, AT-AI-16XE-10

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

config COMEDI_NI_ATMIO16D
	tristate "NI AT-MIO-16/AT-MIO-16D series ISA card support"
	select COMEDI_8255
	---help---
	  Enable support for National Instruments AT-MIO-16/AT-MIO-16D cards.

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

config COMEDI_NI_LABPC_ISA
	tristate "NI Lab-PC and compatibles ISA support"
	select COMEDI_NI_LABPC
	select COMEDI_NI_LABPC_ISADMA if ISA_DMA_API
	---help---
	  Enable support for National Instruments Lab-PC and compatibles
	  Lab-PC-1200, Lab-PC-1200AI, Lab-PC+.
	  Kernel-level ISA plug-and-play support for the lab-pc-1200 boards has
	  not yet been added to the driver.

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

config COMEDI_PCMAD
	tristate "Winsystems PCM-A/D12 and PCM-A/D16 PC/104 board support"
	---help---
	  Enable support for Winsystems PCM-A/D12 and PCM-A/D16 PC/104 boards.

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

config COMEDI_PCMDA12
	tristate "Winsystems PCM-D/A-12 8-channel AO PC/104 board support"
	---help---
	  Enable support for Winsystems PCM-D/A-12 8-channel AO PC/104 boards.
	  Note that the board is not ISA-PNP capable and thus needs the I/O
	  port comedi_config parameter.

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

config COMEDI_PCMMIO
	tristate "Winsystems PCM-MIO PC/104 board support"
	---help---
	  Enable support for Winsystems PCM-MIO multifunction PC/104 boards.

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

config COMEDI_PCMUIO
	tristate "Winsystems PCM-UIO48A and PCM-UIO96A PC/104 board support"
	---help---
	  Enable support for PCM-UIO48A and PCM-UIO96A PC/104 boards.

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

config COMEDI_MULTIQ3
	tristate "Quanser Consulting MultiQ-3 ISA card support"
	---help---
	  Enable support for Quanser Consulting MultiQ-3 ISA cards

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

config COMEDI_S526
	tristate "Sensoray s526 support"
	---help---
	  Enable support for Sensoray s526

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

endif # COMEDI_ISA_DRIVERS

menuconfig COMEDI_PCI_DRIVERS
	tristate "Comedi PCI drivers"
	depends on PCI
	---help---
	  Enable support for comedi PCI drivers.

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

if COMEDI_PCI_DRIVERS

config COMEDI_8255_PCI
	tristate "Generic PCI based 8255 digital i/o board support"
	select COMEDI_8255
	---help---
	  Enable support for PCI based 8255 digital i/o boards. This driver
	  provides a PCI wrapper around the generic 8255 driver.

	  Supported boards:
	    ADlink - PCI-7224, PCI-7248, and PCI-7296
	    Measurement Computing - PCI-DIO24, PCI-DIO24H, PCI-DIO48H and
	                            PCI-DIO96H
	    National Instruments - PCI-DIO-96, PCI-DIO-96B, PXI-6508, PCI-6503,
	                           PCI-6503B, PCI-6503X, and PXI-6503

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

config COMEDI_ADDI_WATCHDOG
	tristate
	---help---
	  Provides support for the watchdog subdevice found on many ADDI-DATA
	  boards. This module will be automatically selected when needed. The
	  module will be called addi_watchdog.

config COMEDI_ADDI_APCI_1032
	tristate "ADDI-DATA APCI_1032 support"
	---help---
	  Enable support for ADDI-DATA APCI_1032 cards

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

config COMEDI_ADDI_APCI_1500
	tristate "ADDI-DATA APCI_1500 support"
	---help---
	  Enable support for ADDI-DATA APCI_1500 cards

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

config COMEDI_ADDI_APCI_1516
	tristate "ADDI-DATA APCI-1016/1516/2016 support"
	select COMEDI_ADDI_WATCHDOG
	---help---
	  Enable support for ADDI-DATA APCI-1016, APCI-1516 and APCI-2016 boards.
	  These are 16 channel, optically isolated, digital I/O boards. The 1516
	  and 2016 boards also have a watchdog for resetting the outputs to "0".

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

config COMEDI_ADDI_APCI_1564
	tristate "ADDI-DATA APCI_1564 support"
	select COMEDI_ADDI_WATCHDOG
	---help---
	  Enable support for ADDI-DATA APCI_1564 cards

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

config COMEDI_ADDI_APCI_16XX
	tristate "ADDI-DATA APCI_16xx support"
	---help---
	  Enable support for ADDI-DATA APCI_16xx cards

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

config COMEDI_ADDI_APCI_2032
	tristate "ADDI-DATA APCI_2032 support"
	select COMEDI_ADDI_WATCHDOG
	---help---
	  Enable support for ADDI-DATA APCI_2032 cards

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

config COMEDI_ADDI_APCI_2200
	tristate "ADDI-DATA APCI_2200 support"
	select COMEDI_ADDI_WATCHDOG
	---help---
	  Enable support for ADDI-DATA APCI_2200 cards

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

config COMEDI_ADDI_APCI_3120
	tristate "ADDI-DATA APCI_3120/3001 support"
	depends on HAS_DMA
	---help---
	  Enable support for ADDI-DATA APCI_3120/3001 cards

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

config COMEDI_ADDI_APCI_3501
	tristate "ADDI-DATA APCI_3501 support"
	---help---
	  Enable support for ADDI-DATA APCI_3501 cards

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

config COMEDI_ADDI_APCI_3XXX
	tristate "ADDI-DATA APCI_3xxx support"
	---help---
	  Enable support for ADDI-DATA APCI_3xxx cards

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

config COMEDI_ADL_PCI6208
	tristate "ADLink PCI-6208A support"
	---help---
	  Enable support for ADLink PCI-6208A cards

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

config COMEDI_ADL_PCI7X3X
	tristate "ADLink PCI-723X/743X isolated digital i/o board support"
	---help---
	  Enable support for ADlink PCI-723X/743X isolated digital i/o boards.
	  Supported boards include the 32-channel PCI-7230 (16 in/16 out),
	  PCI-7233 (32 in), and PCI-7234 (32 out) as well as the 64-channel
	  PCI-7432 (32 in/32 out), PCI-7433 (64 in), and PCI-7434 (64 out).

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

config COMEDI_ADL_PCI8164
	tristate "ADLink PCI-8164 4 Axes Motion Control board support"
	---help---
	  Enable support for ADlink PCI-8164 4 Axes Motion Control board

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

config COMEDI_ADL_PCI9111
	tristate "ADLink PCI-9111HR support"
	---help---
	  Enable support for ADlink PCI9111 cards

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

config COMEDI_ADL_PCI9118
	tristate "ADLink PCI-9118DG, PCI-9118HG, PCI-9118HR support"
	depends on HAS_DMA
	---help---
	  Enable support for ADlink PCI-9118DG, PCI-9118HG, PCI-9118HR cards

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

config COMEDI_ADV_PCI1710
	tristate "Advantech PCI-171x, PCI-1720 and PCI-1731 support"
	---help---
	  Enable support for Advantech PCI-1710, PCI-1710HG, PCI-1711,
	  PCI-1713, PCI-1720 and PCI-1731

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

config COMEDI_ADV_PCI1723
	tristate "Advantech PCI-1723 support"
	---help---
	  Enable support for Advantech PCI-1723 cards

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

config COMEDI_ADV_PCI1724
	tristate "Advantech PCI-1724U support"
	---help---
	  Enable support for Advantech PCI-1724U cards.  These are 32-channel
	  analog output cards with voltage and current loop output ranges and
	  14-bit resolution.

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

config COMEDI_ADV_PCI_DIO
	tristate "Advantech PCI DIO card support"
	select COMEDI_8255
	---help---
	  Enable support for Advantech PCI DIO cards
	  PCI-1730, PCI-1733, PCI-1734, PCI-1735U, PCI-1736UP, PCI-1739U,
	  PCI-1750, PCI-1751, PCI-1752, PCI-1753/E, PCI-1754, PCI-1756,
	  PCI-1760 and PCI-1762

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

config COMEDI_AMPLC_DIO200_PCI
	tristate "Amplicon PCI215/PCI272/PCIe215/PCIe236/PCIe296 DIO support"
	select COMEDI_AMPLC_DIO200
	---help---
	  Enable support for Amplicon PCI215, PCI272, PCIe215, PCIe236
	  and PCIe296 DIO boards.

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

config COMEDI_AMPLC_PC236_PCI
	tristate "Amplicon PCI236 DIO board support"
	select COMEDI_AMPLC_PC236
	---help---
	  Enable support for Amplicon PCI236 DIO board.

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

config COMEDI_AMPLC_PC263_PCI
	tristate "Amplicon PCI263 relay board support"
	---help---
	  Enable support for Amplicon PCI263 relay board.  This is a PCI board
	  with 16 reed relay output channels.

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

config COMEDI_AMPLC_PCI224
	tristate "Amplicon PCI224 and PCI234 support"
	---help---
	  Enable support for Amplicon PCI224 and PCI234 AO boards

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

config COMEDI_AMPLC_PCI230
	tristate "Amplicon PCI230 and PCI260 support"
	select COMEDI_8255
	---help---
	  Enable support for Amplicon PCI230 and PCI260 Multifunction I/O
	  boards

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

config COMEDI_CONTEC_PCI_DIO
	tristate "Contec PIO1616L digital I/O board support"
	---help---
	  Enable support for the Contec PIO1616L digital I/O board

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

config COMEDI_DAS08_PCI
	tristate "DAS-08 PCI support"
	select COMEDI_DAS08
	---help---
	  Enable support for PCI DAS-08 cards.

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

config COMEDI_DT3000
	tristate "Data Translation DT3000 series support"
	---help---
	  Enable support for Data Translation DT3000 series
	  DT3001, DT3001-PGL, DT3002, DT3003, DT3003-PGL, DT3004, DT3005 and
	  DT3004-200

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

config COMEDI_DYNA_PCI10XX
	tristate "Dynalog PCI DAQ series support"
	---help---
	  Enable support for Dynalog PCI DAQ series
	  PCI-1050

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

config COMEDI_GSC_HPDI
	tristate "General Standards PCI-HPDI32 / PMC-HPDI32 support"
	---help---
	  Enable support for General Standards Corporation high speed parallel
	  digital interface rs485 boards PCI-HPDI32 and PMC-HPDI32.
	  Only receive mode works, transmit not supported.

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

config COMEDI_MF6X4
	tristate "Humusoft MF634 and MF624 DAQ Card support"
	---help---
	  This driver supports both Humusoft MF634 and MF624 Data acquisition
	  cards. The legacy Humusoft MF614 card is not supported.

config COMEDI_ICP_MULTI
	tristate "Inova ICP_MULTI support"
	---help---
	  Enable support for Inova ICP_MULTI card

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

config COMEDI_DAQBOARD2000
	tristate "IOtech DAQboard/2000 support"
	select COMEDI_8255
	---help---
	  Enable support for the IOtech DAQboard/2000

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

config COMEDI_JR3_PCI
	tristate "JR3/PCI force sensor board support"
	---help---
	  Enable support for JR3/PCI force sensor boards

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

config COMEDI_KE_COUNTER
	tristate "Kolter-Electronic PCI Counter 1 card support"
	---help---
	  Enable support for Kolter-Electronic PCI Counter 1 cards

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

config COMEDI_CB_PCIDAS64
	tristate "MeasurementComputing PCI-DAS 64xx, 60xx, and 4020 support"
	select COMEDI_8255
	---help---
	  Enable support for ComputerBoards/MeasurementComputing PCI-DAS 64xx,
	  60xx, and 4020 series with the PLX 9080 PCI controller

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

config COMEDI_CB_PCIDAS
	tristate "MeasurementComputing PCI-DAS support"
	select COMEDI_8255
	---help---
	  Enable support for ComputerBoards/MeasurementComputing PCI-DAS with
	  AMCC S5933 PCIcontroller: PCI-DAS1602/16, PCI-DAS1602/16jr,
	  PCI-DAS1602/12, PCI-DAS1200, PCI-DAS1200jr, PCI-DAS1000, PCI-DAS1001
	  and PCI_DAS1002.

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

config COMEDI_CB_PCIDDA
	tristate "MeasurementComputing PCI-DDA series support"
	select COMEDI_8255
	---help---
	  Enable support for ComputerBoards/MeasurementComputing PCI-DDA
	  series: PCI-DDA08/12, PCI-DDA04/12, PCI-DDA02/12, PCI-DDA08/16,
	  PCI-DDA04/16 and PCI-DDA02/16

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

config COMEDI_CB_PCIMDAS
	tristate "MeasurementComputing PCIM-DAS1602/16, PCIe-DAS1602/16 support"
	select COMEDI_8255
	---help---
	  Enable support for ComputerBoards/MeasurementComputing PCI Migration
	  series PCIM-DAS1602/16 and PCIe-DAS1602/16.

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

config COMEDI_CB_PCIMDDA
	tristate "MeasurementComputing PCIM-DDA06-16 support"
	select COMEDI_8255
	---help---
	  Enable support for ComputerBoards/MeasurementComputing PCIM-DDA06-16

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

config COMEDI_ME4000
	tristate "Meilhaus ME-4000 support"
	---help---
	  Enable support for Meilhaus PCI data acquisition cards
	  ME-4650, ME-4670i, ME-4680, ME-4680i and ME-4680is

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

config COMEDI_ME_DAQ
	tristate "Meilhaus ME-2000i, ME-2600i, ME-3000vm1 support"
	---help---
	  Enable support for Meilhaus PCI data acquisition cards
	  ME-2000i, ME-2600i and ME-3000vm1

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

config COMEDI_NI_6527
	tristate "NI 6527 support"
	---help---
	  Enable support for the National Instruments 6527 PCI card

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

config COMEDI_NI_65XX
	tristate "NI 65xx static dio PCI card support"
	---help---
	  Enable support for National Instruments 65xx static dio boards.
	  Supported devices: National Instruments PCI-6509 (ni_65xx),
	  PXI-6509, PCI-6510, PCI-6511, PXI-6511, PCI-6512, PXI-6512, PCI-6513,
	  PXI-6513, PCI-6514, PXI-6514, PCI-6515, PXI-6515, PCI-6516, PCI-6517,
	  PCI-6518, PCI-6519, PCI-6520, PCI-6521, PXI-6521, PCI-6528, PXI-6528

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

config COMEDI_NI_660X
	tristate "NI 660x counter/timer PCI card support"
	depends on HAS_DMA
	select COMEDI_NI_TIOCMD
	---help---
	  Enable support for National Instruments PCI-6601 (ni_660x), PCI-6602,
	  PXI-6602, PXI-6608 and PXI-6624.

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

config COMEDI_NI_670X
	tristate "NI 670x PCI card support"
	---help---
	  Enable support for National Instruments PCI-6703 and PCI-6704

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

config COMEDI_NI_LABPC_PCI
	tristate "NI Lab-PC PCI-1200 support"
	select COMEDI_NI_LABPC
	---help---
	  Enable support for National Instruments Lab-PC PCI-1200.

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

config COMEDI_NI_PCIDIO
	tristate "NI PCI-DIO32HS, PCI-6533, PCI-6534 support"
	depends on HAS_DMA
	select COMEDI_MITE
	select COMEDI_8255
	---help---
	  Enable support for National Instruments PCI-DIO-32HS, PXI-6533,
	  PCI-6533 and PCI-6534

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

config COMEDI_NI_PCIMIO
	tristate "NI PCI-MIO-E series and M series support"
	depends on HAS_DMA
	select COMEDI_NI_TIOCMD
	select COMEDI_8255
	---help---
	  Enable support for National Instruments PCI-MIO-E series and M series
	  (all boards): PCI-MIO-16XE-10, PXI-6030E, PCI-MIO-16E-1,
	  PCI-MIO-16E-4, PCI-6014, PCI-6040E, PXI-6040E, PCI-6030E, PCI-6031E,
	  PCI-6032E, PCI-6033E, PCI-6071E, PCI-6023E, PCI-6024E, PCI-6025E,
	  PXI-6025E, PCI-6034E, PCI-6035E, PCI-6052E, PCI-6110, PCI-6111,
	  PCI-6220, PCI-6221, PCI-6224, PXI-6224, PCI-6225, PXI-6225, PCI-6229,
	  PCI-6250, PCI-6251, PCIe-6251, PCI-6254, PCI-6259, PCIe-6259,
	  PCI-6280, PCI-6281, PXI-6281, PCI-6284, PCI-6289, PCI-6711, PXI-6711,
	  PCI-6713, PXI-6713, PXI-6071E, PCI-6070E, PXI-6070E, PXI-6052E,
	  PCI-6036E, PCI-6731, PCI-6733, PXI-6733, PCI-6143, PXI-6143

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

config COMEDI_RTD520
	tristate "Real Time Devices PCI4520/DM7520 support"
	---help---
	  Enable support for Real Time Devices PCI4520/DM7520

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

config COMEDI_S626
	tristate "Sensoray 626 support"
	---help---
	  Enable support for Sensoray 626

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

config COMEDI_MITE
	depends on HAS_DMA
	tristate

config COMEDI_NI_TIOCMD
	tristate
	depends on HAS_DMA
	select COMEDI_NI_TIO
	select COMEDI_MITE

endif # COMEDI_PCI_DRIVERS

menuconfig COMEDI_PCMCIA_DRIVERS
	tristate "Comedi PCMCIA drivers"
	depends on PCMCIA
	---help---
	  Enable support for comedi PCMCIA drivers.

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

if COMEDI_PCMCIA_DRIVERS

config COMEDI_CB_DAS16_CS
	tristate "CB DAS16 series PCMCIA support"
	---help---
	  Enable support for the ComputerBoards/MeasurementComputing PCMCIA
	  cards DAS16/16, PCM-DAS16D/12 and PCM-DAS16s/16

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

config COMEDI_DAS08_CS
	tristate "CB DAS08 PCMCIA support"
	select COMEDI_DAS08
	---help---
	  Enable support for the ComputerBoards/MeasurementComputing DAS-08
	  PCMCIA card

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

config COMEDI_NI_DAQ_700_CS
	tristate "NI DAQCard-700 PCMCIA support"
	---help---
	  Enable support for the National Instruments PCMCIA DAQCard-700 DIO

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

config COMEDI_NI_DAQ_DIO24_CS
	tristate "NI DAQ-Card DIO-24 PCMCIA support"
	select COMEDI_8255
	---help---
	  Enable support for the National Instruments PCMCIA DAQ-Card DIO-24

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

config COMEDI_NI_LABPC_CS
	tristate "NI DAQCard-1200 PCMCIA support"
	select COMEDI_NI_LABPC
	---help---
	  Enable support for the National Instruments PCMCIA DAQCard-1200

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

config COMEDI_NI_MIO_CS
	tristate "NI DAQCard E series PCMCIA support"
	select COMEDI_NI_TIO
	select COMEDI_8255
	---help---
	  Enable support for the National Instruments PCMCIA DAQCard E series
	  DAQCard-ai-16xe-50, DAQCard-ai-16e-4, DAQCard-6062E, DAQCard-6024E
	  and DAQCard-6036E

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

config COMEDI_QUATECH_DAQP_CS
	tristate "Quatech DAQP PCMCIA data capture card support"
	---help---
	  Enable support for the Quatech DAQP PCMCIA data capture cards
	  DAQP-208 and DAQP-308

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

endif # COMEDI_PCMCIA_DRIVERS

menuconfig COMEDI_USB_DRIVERS
	tristate "Comedi USB drivers"
	depends on USB
	---help---
	  Enable support for comedi USB drivers.

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

if COMEDI_USB_DRIVERS

config COMEDI_DT9812
	tristate "DataTranslation DT9812 USB module support"
	---help---
	  Enable support for the Data Translation DT9812 USB module

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

config COMEDI_NI_USB6501
	tristate "NI USB-6501 support"
	---help---
	  Enable support for the National Instruments USB-6501 module.

	  The NI USB-6501 is a Full-Speed USB 2.0 (12 Mbit/s) device that
	  provides 24 digital I/O lines channels and one 32-bit counter.

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

config COMEDI_USBDUX
	tristate "ITL USB-DUX-D support"
	---help---
	  Enable support for the Incite Technology Ltd USB-DUX-D Board

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

config COMEDI_USBDUXFAST
	tristate "ITL USB-DUXfast support"
	---help---
	  Enable support for the Incite Technology Ltd USB-DUXfast Board

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

config COMEDI_USBDUXSIGMA
	tristate "ITL USB-DUXsigma support"
	---help---
	  Enable support for the Incite Technology Ltd USB-DUXsigma Board

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

config COMEDI_VMK80XX
	tristate "Velleman VM110/VM140 USB Board support"
	---help---
	  Build the Velleman USB Board Low-Level Driver supporting the
	  K8055/K8061 aka VM110/VM140 devices

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

endif # COMEDI_USB_DRIVERS

config COMEDI_8255
	tristate "Generic 8255 support"
	---help---
	  Enable generic 8255 support.

	  You should enable compilation this driver if you plan to use a board
	  that has an 8255 chip. For multifunction boards, the main driver will
	  configure the 8255 subdevice automatically.

	  Note that most PCI based 8255 boards use the 8255_pci driver as a
	  wrapper around this driver.

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

config COMEDI_KCOMEDILIB
	tristate "Comedi kcomedilib"
	---help---
	  Build the kcomedilib.

	  This is a kernel module used to open and manipulate Comedi devices
	  from within kernel code.  It is currently only used by the
	  comedi_bond driver, and its functionality has been stripped down to
	  the needs of that driver, so is currently not very useful for
	  anything else.

	  To compile kcomedilib as a module, choose M here: the module will be
	  called kcomedilib.

config COMEDI_AMPLC_DIO200
	tristate

config COMEDI_AMPLC_PC236
	tristate
	select COMEDI_8255

config COMEDI_DAS08
	tristate
	select COMEDI_8255

config COMEDI_ISADMA
	tristate

config COMEDI_NI_LABPC
	tristate
	select COMEDI_8255

config COMEDI_NI_LABPC_ISADMA
	tristate

config COMEDI_NI_TIO
	tristate

endif # COMEDI
