# Makefile for individual comedi drivers
#

# Comedi "helper" modules

# Comedi misc drivers
obj-$(CONFIG_COMEDI_BOND)		+= comedi_bond.o
obj-$(CONFIG_COMEDI_TEST)		+= comedi_test.o
obj-$(CONFIG_COMEDI_PARPORT)		+= comedi_parport.o
obj-$(CONFIG_COMEDI_SERIAL2002)		+= serial2002.o
obj-$(CONFIG_COMEDI_SKEL)		+= skel.o

# Comedi ISA drivers
obj-$(CONFIG_COMEDI_ACL7225B)		+= acl7225b.o
obj-$(CONFIG_COMEDI_AMPLC_DIO200_ISA)	+= amplc_dio200.o
obj-$(CONFIG_COMEDI_AMPLC_PC263_ISA)	+= amplc_pc263.o
obj-$(CONFIG_COMEDI_PCL711)		+= pcl711.o
obj-$(CONFIG_COMEDI_PCL724)		+= pcl724.o
obj-$(CONFIG_COMEDI_PCL725)		+= pcl725.o
obj-$(CONFIG_COMEDI_PCL726)		+= pcl726.o
obj-$(CONFIG_COMEDI_PCL730)		+= pcl730.o
obj-$(CONFIG_COMEDI_PCL812)		+= pcl812.o
obj-$(CONFIG_COMEDI_PCL816)		+= pcl816.o
obj-$(CONFIG_COMEDI_PCL818)		+= pcl818.o
obj-$(CONFIG_COMEDI_PCM3724)		+= pcm3724.o
obj-$(CONFIG_COMEDI_PCM3730)		+= pcm3730.o
obj-$(CONFIG_COMEDI_RTI800)		+= rti800.o
obj-$(CONFIG_COMEDI_RTI802)		+= rti802.o
obj-$(CONFIG_COMEDI_DAS16M1)		+= das16m1.o
obj-$(CONFIG_COMEDI_DAS08_ISA)		+= das08_isa.o
obj-$(CONFIG_COMEDI_DAS16)		+= das16.o
obj-$(CONFIG_COMEDI_DAS800)		+= das800.o
obj-$(CONFIG_COMEDI_DAS1800)		+= das1800.o
obj-$(CONFIG_COMEDI_DAS6402)		+= das6402.o
obj-$(CONFIG_COMEDI_DT2801)		+= dt2801.o
obj-$(CONFIG_COMEDI_DT2811)		+= dt2811.o
obj-$(CONFIG_COMEDI_DT2814)		+= dt2814.o
obj-$(CONFIG_COMEDI_DT2815)		+= dt2815.o
obj-$(CONFIG_COMEDI_DT2817)		+= dt2817.o
obj-$(CONFIG_COMEDI_DT282X)		+= dt282x.o
obj-$(CONFIG_COMEDI_DMM32AT)		+= dmm32at.o
obj-$(CONFIG_COMEDI_FL512)		+= fl512.o
obj-$(CONFIG_COMEDI_AIO_AIO12_8)	+= aio_aio12_8.o
obj-$(CONFIG_COMEDI_AIO_IIRO_16)	+= aio_iiro_16.o
obj-$(CONFIG_COMEDI_C6XDIGIO)		+= c6xdigio.o
obj-$(CONFIG_COMEDI_MPC624)		+= mpc624.o
obj-$(CONFIG_COMEDI_ADQ12B)		+= adq12b.o
obj-$(CONFIG_COMEDI_NI_AT_A2150)	+= ni_at_a2150.o
obj-$(CONFIG_COMEDI_NI_AT_AO)		+= ni_at_ao.o
obj-$(CONFIG_COMEDI_NI_ATMIO)		+= ni_atmio.o
obj-$(CONFIG_COMEDI_NI_ATMIO16D)	+= ni_atmio16d.o
obj-$(CONFIG_COMEDI_PCMAD)		+= pcmad.o
obj-$(CONFIG_COMEDI_PCMDA12)		+= pcmda12.o
obj-$(CONFIG_COMEDI_PCMMIO)		+= pcmmio.o
obj-$(CONFIG_COMEDI_PCMUIO)		+= pcmuio.o
obj-$(CONFIG_COMEDI_MULTIQ3)		+= multiq3.o
obj-$(CONFIG_COMEDI_POC)		+= poc.o

# Comedi PCI drivers
obj-$(CONFIG_COMEDI_8255_PCI)		+= 8255_pci.o
obj-$(CONFIG_COMEDI_ADDI_WATCHDOG)	+= addi_watchdog.o
obj-$(CONFIG_COMEDI_ADDI_APCI_035)	+= addi_apci_035.o
obj-$(CONFIG_COMEDI_ADDI_APCI_1032)	+= addi_apci_1032.o
obj-$(CONFIG_COMEDI_ADDI_APCI_1500)	+= addi_apci_1500.o
obj-$(CONFIG_COMEDI_ADDI_APCI_1516)	+= addi_apci_1516.o
obj-$(CONFIG_COMEDI_ADDI_APCI_1564)	+= addi_apci_1564.o
obj-$(CONFIG_COMEDI_ADDI_APCI_16XX)	+= addi_apci_16xx.o
obj-$(CONFIG_COMEDI_ADDI_APCI_2032)	+= addi_apci_2032.o
obj-$(CONFIG_COMEDI_ADDI_APCI_2200)	+= addi_apci_2200.o
obj-$(CONFIG_COMEDI_ADDI_APCI_3120)	+= addi_apci_3120.o
obj-$(CONFIG_COMEDI_ADDI_APCI_3501)	+= addi_apci_3501.o
obj-$(CONFIG_COMEDI_ADDI_APCI_3XXX)	+= addi_apci_3xxx.o
obj-$(CONFIG_COMEDI_ADL_PCI6208)	+= adl_pci6208.o
obj-$(CONFIG_COMEDI_ADL_PCI7X3X)	+= adl_pci7x3x.o
obj-$(CONFIG_COMEDI_ADL_PCI8164)	+= adl_pci8164.o
obj-$(CONFIG_COMEDI_ADL_PCI9111)	+= adl_pci9111.o
obj-$(CONFIG_COMEDI_ADL_PCI9118)	+= adl_pci9118.o
obj-$(CONFIG_COMEDI_ADV_PCI1710)	+= adv_pci1710.o
obj-$(CONFIG_COMEDI_ADV_PCI1723)	+= adv_pci1723.o
obj-$(CONFIG_COMEDI_ADV_PCI1724)	+= adv_pci1724.o
obj-$(CONFIG_COMEDI_ADV_PCI_DIO)	+= adv_pci_dio.o
obj-$(CONFIG_COMEDI_AMPLC_DIO200_PCI)	+= amplc_dio200_pci.o
obj-$(CONFIG_COMEDI_AMPLC_PC236)	+= amplc_pc236.o
obj-$(CONFIG_COMEDI_AMPLC_PC263_PCI)	+= amplc_pci263.o
obj-$(CONFIG_COMEDI_AMPLC_PCI224)	+= amplc_pci224.o
obj-$(CONFIG_COMEDI_AMPLC_PCI230)	+= amplc_pci230.o
obj-$(CONFIG_COMEDI_CONTEC_PCI_DIO)	+= contec_pci_dio.o
obj-$(CONFIG_COMEDI_DAS08_PCI)		+= das08_pci.o
obj-$(CONFIG_COMEDI_DT3000)		+= dt3000.o
obj-$(CONFIG_COMEDI_DYNA_PCI10XX)	+= dyna_pci10xx.o
obj-$(CONFIG_COMEDI_UNIOXX5)		+= unioxx5.o
obj-$(CONFIG_COMEDI_GSC_HPDI)		+= gsc_hpdi.o
obj-$(CONFIG_COMEDI_ICP_MULTI)		+= icp_multi.o
obj-$(CONFIG_COMEDI_II_PCI20KC)		+= ii_pci20kc.o
obj-$(CONFIG_COMEDI_DAQBOARD2000)	+= daqboard2000.o
obj-$(CONFIG_COMEDI_JR3_PCI)		+= jr3_pci.o
obj-$(CONFIG_COMEDI_KE_COUNTER)		+= ke_counter.o
obj-$(CONFIG_COMEDI_CB_PCIDAS64)	+= cb_pcidas64.o
obj-$(CONFIG_COMEDI_CB_PCIDAS)		+= cb_pcidas.o
obj-$(CONFIG_COMEDI_CB_PCIDDA)		+= cb_pcidda.o
obj-$(CONFIG_COMEDI_CB_PCIMDAS)		+= cb_pcimdas.o
obj-$(CONFIG_COMEDI_CB_PCIMDDA)		+= cb_pcimdda.o
obj-$(CONFIG_COMEDI_ME4000)		+= me4000.o
obj-$(CONFIG_COMEDI_ME_DAQ)		+= me_daq.o
obj-$(CONFIG_COMEDI_NI_6527)		+= ni_6527.o
obj-$(CONFIG_COMEDI_NI_65XX)		+= ni_65xx.o
obj-$(CONFIG_COMEDI_NI_660X)		+= ni_660x.o
obj-$(CONFIG_COMEDI_NI_670X)		+= ni_670x.o
obj-$(CONFIG_COMEDI_NI_LABPC_PCI)	+= ni_labpc_pci.o
obj-$(CONFIG_COMEDI_NI_PCIDIO)		+= ni_pcidio.o
obj-$(CONFIG_COMEDI_NI_PCIMIO)		+= ni_pcimio.o
obj-$(CONFIG_COMEDI_RTD520)		+= rtd520.o
obj-$(CONFIG_COMEDI_S526)		+= s526.o
obj-$(CONFIG_COMEDI_S626)		+= s626.o
obj-$(CONFIG_COMEDI_SSV_DNP)		+= ssv_dnp.o

# Comedi PCMCIA drivers
obj-$(CONFIG_COMEDI_CB_DAS16_CS)	+= cb_das16_cs.o
obj-$(CONFIG_COMEDI_DAS08_CS)		+= das08_cs.o
obj-$(CONFIG_COMEDI_NI_DAQ_700_CS)	+= ni_daq_700.o
obj-$(CONFIG_COMEDI_NI_DAQ_DIO24_CS)	+= ni_daq_dio24.o
obj-$(CONFIG_COMEDI_NI_LABPC_CS)	+= ni_labpc_cs.o
obj-$(CONFIG_COMEDI_NI_MIO_CS)		+= ni_mio_cs.o
obj-$(CONFIG_COMEDI_QUATECH_DAQP_CS)	+= quatech_daqp_cs.o

# Comedi USB drivers
obj-$(CONFIG_COMEDI_DT9812)		+= dt9812.o
obj-$(CONFIG_COMEDI_USBDUX)		+= usbdux.o
obj-$(CONFIG_COMEDI_USBDUXFAST)		+= usbduxfast.o
obj-$(CONFIG_COMEDI_USBDUXSIGMA)	+= usbduxsigma.o
obj-$(CONFIG_COMEDI_VMK80XX)		+= vmk80xx.o

# Comedi NI drivers
obj-$(CONFIG_COMEDI_MITE)		+= mite.o
obj-$(CONFIG_COMEDI_NI_TIO)		+= ni_tio.o
obj-$(CONFIG_COMEDI_NI_TIOCMD)		+= ni_tiocmd.o
obj-$(CONFIG_COMEDI_NI_LABPC)		+= ni_labpc.o

obj-$(CONFIG_COMEDI_8255)		+= 8255.o
obj-$(CONFIG_COMEDI_AMPLC_DIO200)	+= amplc_dio200_common.o
obj-$(CONFIG_COMEDI_DAS08)		+= das08.o
obj-$(CONFIG_COMEDI_FC)			+= comedi_fc.o
