summaryrefslogtreecommitdiff
path: root/drivers/staging/comedi/Kconfig
AgeCommit message (Collapse)Author
2013-09-17Staging: comedi: Fix dependencies for drivers misclassified as PCIBen Hutchings
The Fastwel UNIOxx-5 is a PC/104 board, so put COMEDI_UNIOXX5 under COMEDI_ISA_DRIVERS. The DIL/Net-PC 1486 is a 486 system, so put COMEDI_SSV_DNP under COMEDI_MISC_DRIVERS and add a dependency on X86_32 || COMPILE_TEST. Reviewed-by: Ian Abbott <abbotti@mev.co.uk> Signed-off-by: Ben Hutchings <ben@decadent.org.uk> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2013-08-01staging: comedi: allow ISA and PC/104 drivers on non-ISA systemsH Hartley Sweeten
Embedded systems with a PC/104 bus might have a configuration that does not have ISA enabled. This creates a problem in Comedi where the PC/104 drivers cannot be enabled. Remove the 'depends on ISA' for the "Comedi ISA and PC/104 drivers" menu to allow the user to select these drivers on non-ISA systems. Signed-off-by: H Hartley Sweeten <hsweeten@visionengravers.com> Reviewed-by: Ian Abbott <abbotti@mev.co.uk> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2013-07-26staging: comedi: Kconfig: COMEDI_NI_ATMIO doesn't need to depend on ISAPNPIan Abbott
The COMEDI_NI_ATMIO configuration option causes the "ni_atmio" module to be built, which handles various National Instruments ISA-PNP data acquisition cards. The configuration option currently depends on ISAPNP. The "ni_atmio" module is a "legacy" comedi driver with no auto-configuration support and it doesn't register as a PNP card driver. The only difference in initialization from the other comedi ISA card drivers is that it will use the ISA-PNP functions to find, attach and activate the card if no I/O base address has been specified by the user in the COMEDI_DEVCONFIG ioctl. The module compiles fine without the ISAPNP configuration option as the <linux/isapnp.h> and <linux/pnp.h> headers provide dummy inline functions if the ISAPNP and PNP options, respectively, are not enabled. Remove the dependancy on the ISAPNP option since the module builds without it and can be used without it. (There is a very slim chance that comedi will support proper ISA PNP drivers one day, in which case the ni_atmio driver could be converted to use this support and not support manual configuration. However, not all the PnP IDs of boards supported by this driver are currently known to us.) Signed-off-by: Ian Abbott <abbotti@mev.co.uk> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2013-07-26staging: comedi: Kconfig: COMEDI_NI_ATMIO16D should not depend on ISAPNPIan Abbott
The COMEDI_NI_ATMIO16D configuration option causes the "ni_atmio16d" module to be built, which handles the National Instruments AT-MIO-16 and AT-MIO-16D cards. The configuration option currently depends on ISAPNP, but the module doesn't use any ISAPNP functions and the cards are legacy ISA cards with base I/O port, IRQ and DMA channel configured by jumpers. (The driver doesn't use DMA though.) Remove the ISADNP dependancy from COMEDI_NI_ATMIO16D and fix up the help text - the card names are missing a dash and they're not ISA-PNP. Signed-off-by: Ian Abbott <abbotti@mev.co.uk> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2013-07-23staging: comedi: COMEDI_NI_LABPC_ISA no longer depends on VIRT_TO_BUSIan Abbott
After migrating ISA DMA support from the "ni_labpc" module to the new "ni_labpc_isadma" module, the `COMEDI_NI_LABPC_ISA` configuration option no longer depends on `VIRT_TO_BUS`, so remove the dependency. (The new `COMEDI_NI_LABPC_ISADMA` option does depend on `VIRT_TO_BUS` but is not configured manually and is only selected automatically if the `VIRT_TO_BUS` and `ISA_DMA_API` options are set.) Signed-off-by: Ian Abbott <abbotti@mev.co.uk> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2013-07-23staging: comedi: ni_labpc_isadma: new module for ISA DMA supportIan Abbott
It's just an empty module at the moment, selected by COMEDI_NI_LABPC_ISA && ISA_DMA_API && VIRT_TO_BUS, but will be populated by later patches to migrate ISA DMA support for NI Lab-PC cards out of the "ni_labpc" module. Signed-off-by: Ian Abbott <abbotti@mev.co.uk> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2013-07-23staging: comedi: pcl724: add support for the PCM-IO48 PC/104 boardH Hartley Sweeten
This driver can support the WinSystems PCM-IO48 PC/104 board. That board has two 8255 devices providing 48 digital I/O channels. Signed-off-by: H Hartley Sweeten <hsweeten@visionengravers.com> Reviewed-by: Ian Abbott <abbotti@mev.co.uk> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2013-07-23staging: comedi: ii_pci20kc: this is an ISA board not a PCI boardH Hartley Sweeten
The Intelligent Instrumentation PCI-20001C board is a legacy PC/XT/AT 8-bit ISA board not a PCI board. The "PCI" appears to mean "Personal Computer Instrumentation". Move the Kconfig option into the COMEDI_ISA group. Signed-off-by: H Hartley Sweeten <hsweeten@visionengravers.com> Acked-by: Ian Abbott <abbotti@mev.co.uk> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2013-06-09staging: comedi: pcl730: add support for the P8R8-DIO ISA boardH Hartley Sweeten
The ICP P8R8-DIO ISA boards can be supported by this driver. This board has 8 isolated digital outputs and 8 isolated digital outputs. Add support for this board to the pcl730 driver. Signed-off-by: H Hartley Sweeten <hsweeten@visionengravers.com> Cc: Ian Abbott <abbotti@mev.co.uk> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2013-06-09staging: comedi: pcl730: add support for the ACL-7225b ISA boardH Hartley Sweeten
The ACL-7225b and P16R16R-DIO ISA boards can be supported by this driver. These board have 16 isolated digital outputs and 16 isolated digital outputs. Add support for these boards to the pcl730 driver and remove the standalone acl7225b driver. Signed-off-by: H Hartley Sweeten <hsweeten@visionengravers.com> Cc: Ian Abbott <abbotti@mev.co.uk> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2013-06-09staging: comedi: pcl730: add support for the PCL-734 ISA boardH Hartley Sweeten
The PCL-734 ISA board can be supported by this driver. This board has 32 isolated digital outputs. Add support for the PCL-734 board to the pcl730 driver and remove it from the poc driver. Signed-off-by: H Hartley Sweeten <hsweeten@visionengravers.com> Cc: Ian Abbott <abbotti@mev.co.uk> Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2013-06-09staging: comedi: pcl730: add support for the PCL-733 ISA boardH Hartley Sweeten
The PCL-733 ISA board can be supported by this driver. This board has 32 isolated digital inputs. Add support for the PCL-733 board to the pcl730 driver and remove it from the poc driver. Signed-off-by: H Hartley Sweeten <hsweeten@visionengravers.com> Cc: Ian Abbott <abbotti@mev.co.uk> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2013-06-09staging: comedi: pcl730: add support for the PCL-725 ISA boardH Hartley Sweeten
The PCL-725 ISA board can be supported by this driver. This board has 8 isolated digital inputs and 8 isolated digital outputs. Add support for the PCL-725 board to the pcl730 driver and remove the standalone pcl725 driver. Signed-off-by: H Hartley Sweeten <hsweeten@visionengravers.com> Cc: Ian Abbott <abbotti@mev.co.uk> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2013-06-09staging: comedi: pcl730: add support for the PCM-3730 PC/104 boardH Hartley Sweeten
The PCM-3730 PC/104 board has the same register i/o map as the PCL-730 ISA board. The only difference is the number of isolated digital input and output channels. Add support for the PCM-3770 board to the pcl730 driver and remove the standalone pcm3730 driver. Signed-off-by: H Hartley Sweeten <hsweeten@visionengravers.com> Cc: Ian Abbott <abbotti@mev.co.uk> Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2013-06-05staging: comedi: Kconfig: COMEDI_S526 is a PC/104 board not a PCI boardH Hartley Sweeten
The Sensoray Model 526 board is a PC/104 style board not a PCI board. Move it into the correct group in the Kconfig and Makefile. Signed-off-by: H Hartley Sweeten <hsweeten@visionengravers.com> Cc: Ian Abbott <abbotti@mev.co.uk> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2013-05-13staging: comedi: work without HAS_DMAIan Abbott
The core "comedi" module and the "mite" helper module for NI PCI devices both have calls to `dma_alloc_coherent()` and `dma_free_coherent()`. Those functions are only available if `CONFIG_HAS_DMA` is defined. Apart from the "mite" module, the functions are only called for comedi drivers that set `s->async_dma_dir` (where `s` is a pointer to a `struct comedi_subdevice`) to anything other than `DMA_NONE`. Change local helper functions `__comedi_buf_alloc()` and `__comedi_buf_free()` to only call `dma_alloc_coherent()` and `dma_free_coherent()` if `CONFIG_HAS_DMA` is defined. Change the "Kconfig" to make the following configuration options depend on `HAS_DMA`: `COMEDI_MITE` - builds the "mite" module. `COMEDI_NI_6527` - selects `COMEDI_MITE`. `COMEDI_NI_65XX` - selects `COMEDI_MITE`. `COMEDI_NI_670X` - selects `COMEDI_MITE`. `COMEDI_NI_LABPC_PCI` - selects `COMEDI_MITE`. `COMEDI_NI_PCIDIO` - selects `COMEDI_MITE`. `COMEDI_NI_TIOCMD` - selects `COMEDI_MITE`. `COMEDI_NI_660X` - selects `COMEDI_NI_TIOCMD`, sets `s->async_dma_dir`. `COMEDI_NI_PCIMIO` - selects `COMEDI_NI_TIOCMD`, sets `s->async_dma_dir`. Signed-off-by: Ian Abbott <abbotti@mev.co.uk> Reviewed-by: H Hartley Sweeten <hsweeten@visionengravers.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2013-04-23staging: comedi: ni_labpc: split out PCI supportH Hartley Sweeten
Currently the ni_labpc driver is used by the legacy (ISA), PCI, and PCMCIA versions of the LabPC board. The driver is enabled under the COMEDI_PCI_DRIVERS section of the Kconfig. This means that PCI support must be enabled in order to use the ni_labpc driver for the PCI or PCMCIA drivers. Split the PCI support code out of the ni_labpc driver into a separate driver, ni_labpc_pci. The PCMCIA support is already slip out as ni_labpc_cs. Modify the Kconfig so that the common code in ni_labpc is enabled by the Kconfig option COMEDI_NI_LABPC. The ISA support code is currently still in the ni_labpc driver but is only compiled in if COMEDI_NI_LABPC_ISA is also enabled. This allows the PCI and PCMCIA drivers to be enabled without the need for the ISA stuff. Signed-off-by: H Hartley Sweeten <hsweeten@visionengravers.com> Reviewed-by: Ian Abbott <abbotti@mev.co.uk> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2013-04-12staging: comedi: amplc_pc263: split out PCI supportIan Abbott
The "amplc_pc263" module is a hybrid driver for Amplicon PC263 (ISA) and PCI263 (PCI) and uses conditional compilation (and compiler optimization) to compile in the support for the different bus types. Split out support for the PCI263 into a new module "amplc_pci263", retaining support for the PC263 in the existing module "amplc_pc263". Don't bother supporting the legacy attach mechanism for PCI board in the new module as that is no longer in vogue for the comedi drivers and the PCI263 board has no special configuration requirements. Although the code to handle the single subdevice of each board is the same for both drivers, this is only a small amount of code and I don't think it's worth creating a common module to handle it. Signed-off-by: Ian Abbott <abbotti@mev.co.uk> Reviewed-by: H Hartley Sweeten <hsweeten@visionengravers.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2013-03-25staging: comedi: Kconfig: update CONFIG_AMPLC_DIO200_PCI help textIan Abbott
After splitting support for PCI cards out of the "amplc_dio200" module into "amplc_dio200_pci", the help text needs updating. Signed-off-by: Ian Abbott <abbotti@mev.co.uk> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2013-03-15staging: comedi: ni_660x: support NI PXI-6624Ian Abbott
Florent Boudet reports success using a NI PXI-6624 board with a trivially modified version of the "ni_660x" driver (addition to the PCI device ID table and comedi board table). He did this with the out-of-tree Comedi drivers at www.comedi.org, but it applies equally to the in-tree "staging" drivers. He reports the PXI-6624 is basically the same as the PXI-6602, but with isolated channels and external voltage source. Add support for NI PXI-6224 to the "ni_660x" driver. (Maybe the driver should be renamed to "ni_66xx"?) Signed-off-by: Ian Abbott <abbotti@mev.co.uk> Cc: Florent Boudet <flboudet@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2013-03-12staging: comedi: adv_pci1724: new driverFrank Mori Hess
New comedi driver for Advantech PCI-1724U with modifications by Ian Abbott <abbotti@mev.co.uk>. Signed-off-by: Ian Abbott <abbotti@mev.co.uk> Cc: Frank Mori Hess <fmh6jj@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2013-02-04staging: comedi: das08: split out bus specific codeH Hartley Sweeten
Split the bus specific ISA/PC-104 and PCI code out of this driver and create two new drivers, das08_isa and das08_pci. This allows removing all the #ifdef'ery in the das08 driver that handled if the CONFIG_COMEDI_DAS08_{ISA,PCI} options were enabled. It also makes the PCI driver cleanly Plug-and-Play since the comedi driver only has an auto_attach callback. Previously it also had an attach callback in order to handle the ISA cards. Since the PCMCIA support was already split out, we can also remove the now unused enum das08_bustype and it's use in the boardinfo. The bus specific code deals with the bustype automatically before it calls the common attach function in das08. Signed-off-by: H Hartley Sweeten <hsweeten@visionengravers.com> Cc: Ian Abbott <abbotti@mev.co.uk> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2013-01-31staging: comedi: conditionally build in PCMCIA driver supportH Hartley Sweeten
Separate the comedi_pcmcia_* functions out of drivers.c into a new source file, comedi_pcmcia.c. This allows conditionally building support for comedi pcmcia drivers into the comedi core without the need for the #if'defery. Fix the Kconfig and Makefile appropriately. Group all the comedi_pcmcia_* prototypes into one place in comedidev.h. Protect these prototypes with an #ifdef so that building a comedi pcmcia driver without PCMCIA support will cause a build error. This will normally not happen as long as the comedi pcmcia driver is placed in the proper group in the Kconfig. Remove the #include <pcmcia/*.h> from drivers.c. These includes are only needed by the comedi pcmcia driver support code and the pcmcia drivers. The include should occur in those files. Signed-off-by: H Hartley Sweeten <hsweeten@visionengravers.com> Cc: Ian Abbott <abbotti@mev.co.uk> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2013-01-31staging: comedi: conditionally build in PCI driver supportH Hartley Sweeten
Separate the comedi_pci_* functions out of drivers.c into a new source file, comedi_pci.c. This allows conditionally building support for comedi PCI drivers into the comedi core. Fix the Kconfig and Makefile appropriately. Group all the comedi_pci_* prototypes and related defines into one place in comedidev.h. Protect these prototypes with an #ifdef and provide some dummy functions so that the mixed ISA/PCI comedi drivers will still build correctly. Remove the #include <linux/pci.h> from comedidev.h and drivers.c. This include is only needed by the comedi PCI driver support code and the PCI drivers. The include should occur in those files. Also, remove the #include <linux/pci.h> from a couple non-PCI drivers since it's not needed. Signed-off-by: H Hartley Sweeten <hsweeten@visionengravers.com> Cc: Ian Abbott <abbotti@mev.co.uk> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2013-01-31staging: comedi: conditionally build in USB driver supportH Hartley Sweeten
Separate the comedi_usb_* functions out of drivers.c into a new source file, comedi_usb.c. This allows conditionally building support for comedi USB drivers into the comedi core without the need for the #if'defery. Fix the Kconfig and Makefile appropriately. For aesthetic reasons, add some whitespace to the Makefile to keep everything lined up. Group all the comedi_usb_* prototypes into one place in comedidev.h. Protect these prototypes with an #ifdef so that building a comedi usb driver without USB support will cause a build error. This will normally not happen as long as the comedi USB driver is placed in the proper group in the Kconfig. Remove the #include<linux/usb.h> from comedidev.h and drivers.c. This include is only needed by the comedi USB driver support code and the USB drivers. The include should occur in those files. Removing the include of usb.h exposed a couple drivers that need <linux/interrupt.h> and <linux/sched.h>. Add the missing includes. Signed-off-by: H Hartley Sweeten <hsweeten@visionengravers.com> Cc: Ian Abbott <abbotti@mev.co.uk> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2013-01-30staging: comedi: ISA DMA drivers should depend on ISA_DMA_APIGeert Uytterhoeven
m68k allmodconfig: CC [M] drivers/staging/comedi/drivers/pcl812.o drivers/staging/comedi/drivers/pcl812.c: In function ‘pcl812_ai_cmd’: drivers/staging/comedi/drivers/pcl812.c:736: error: implicit declaration of function ‘set_dma_mode’ drivers/staging/comedi/drivers/pcl812.c:736: error: ‘DMA_MODE_READ’ undeclared (first use in this function) drivers/staging/comedi/drivers/pcl812.c:736: error: (Each undeclared identifier is reported only once drivers/staging/comedi/drivers/pcl812.c:736: error: for each function it appears in.) drivers/staging/comedi/drivers/pcl812.c:737: error: implicit declaration of function ‘claim_dma_lock’ drivers/staging/comedi/drivers/pcl812.c:738: error: implicit declaration of function ‘clear_dma_ff’ drivers/staging/comedi/drivers/pcl812.c:739: error: implicit declaration of function ‘set_dma_addr’ drivers/staging/comedi/drivers/pcl812.c:740: error: implicit declaration of function ‘set_dma_count’ drivers/staging/comedi/drivers/pcl812.c:741: error: implicit declaration of function ‘release_dma_lock’ drivers/staging/comedi/drivers/pcl812.c:742: error: implicit declaration of function ‘enable_dma’ drivers/staging/comedi/drivers/pcl812.c: In function ‘interrupt_pcl812_ai_dma’: drivers/staging/comedi/drivers/pcl812.c:883: error: implicit declaration of function ‘disable_dma’ drivers/staging/comedi/drivers/pcl812.c:884: error: ‘DMA_MODE_READ’ undeclared (first use in this function) drivers/staging/comedi/drivers/pcl812.c: In function ‘pcl812_ai_poll’: drivers/staging/comedi/drivers/pcl812.c:947: error: implicit declaration of function ‘get_dma_residue’ make[2]: *** [drivers/staging/comedi/drivers/pcl812.o] Error 1 CC [M] drivers/staging/comedi/drivers/pcl816.o drivers/staging/comedi/drivers/pcl816.c: In function ‘interrupt_pcl816_ai_mode13_dma’: drivers/staging/comedi/drivers/pcl816.c:359: error: implicit declaration of function ‘disable_dma’ drivers/staging/comedi/drivers/pcl816.c:366: error: implicit declaration of function ‘set_dma_mode’ drivers/staging/comedi/drivers/pcl816.c:366: error: ‘DMA_MODE_READ’ undeclared (first use in this function) drivers/staging/comedi/drivers/pcl816.c:366: error: (Each undeclared identifier is reported only once drivers/staging/comedi/drivers/pcl816.c:366: error: for each function it appears in.) drivers/staging/comedi/drivers/pcl816.c:367: error: implicit declaration of function ‘claim_dma_lock’ drivers/staging/comedi/drivers/pcl816.c:369: error: implicit declaration of function ‘set_dma_addr’ drivers/staging/comedi/drivers/pcl816.c:372: error: implicit declaration of function ‘set_dma_count’ drivers/staging/comedi/drivers/pcl816.c:378: error: implicit declaration of function ‘release_dma_lock’ drivers/staging/comedi/drivers/pcl816.c:379: error: implicit declaration of function ‘enable_dma’ drivers/staging/comedi/drivers/pcl816.c: In function ‘pcl816_ai_cmd’: drivers/staging/comedi/drivers/pcl816.c:629: error: ‘DMA_MODE_READ’ undeclared (first use in this function) drivers/staging/comedi/drivers/pcl816.c:631: error: implicit declaration of function ‘clear_dma_ff’ drivers/staging/comedi/drivers/pcl816.c: In function ‘pcl816_ai_poll’: drivers/staging/comedi/drivers/pcl816.c:679: error: implicit declaration of function ‘get_dma_residue’ make[2]: *** [drivers/staging/comedi/drivers/pcl816.o] Error 1 CC [M] drivers/staging/comedi/drivers/pcl818.o drivers/staging/comedi/drivers/pcl818.c: In function ‘interrupt_pcl818_ai_mode13_dma’: drivers/staging/comedi/drivers/pcl818.c:547: error: implicit declaration of function ‘disable_dma’ drivers/staging/comedi/drivers/pcl818.c:550: error: implicit declaration of function ‘set_dma_mode’ drivers/staging/comedi/drivers/pcl818.c:550: error: ‘DMA_MODE_READ’ undeclared (first use in this function) drivers/staging/comedi/drivers/pcl818.c:550: error: (Each undeclared identifier is reported only once drivers/staging/comedi/drivers/pcl818.c:550: error: for each function it appears in.) drivers/staging/comedi/drivers/pcl818.c:551: error: implicit declaration of function ‘claim_dma_lock’ drivers/staging/comedi/drivers/pcl818.c:552: error: implicit declaration of function ‘set_dma_addr’ drivers/staging/comedi/drivers/pcl818.c:555: error: implicit declaration of function ‘set_dma_count’ drivers/staging/comedi/drivers/pcl818.c:561: error: implicit declaration of function ‘release_dma_lock’ drivers/staging/comedi/drivers/pcl818.c:562: error: implicit declaration of function ‘enable_dma’ drivers/staging/comedi/drivers/pcl818.c: In function ‘pcl818_ai_mode13dma_int’: drivers/staging/comedi/drivers/pcl818.c:886: error: ‘DMA_MODE_READ’ undeclared (first use in this function) drivers/staging/comedi/drivers/pcl818.c:888: error: implicit declaration of function ‘clear_dma_ff’ make[2]: *** [drivers/staging/comedi/drivers/pcl818.o] Error 1 CC [M] drivers/staging/comedi/drivers/das16.o drivers/staging/comedi/drivers/das16.c: In function ‘das16_cmd_exec’: drivers/staging/comedi/drivers/das16.c:644: error: implicit declaration of function ‘claim_dma_lock’ drivers/staging/comedi/drivers/das16.c:645: error: implicit declaration of function ‘disable_dma’ drivers/staging/comedi/drivers/das16.c:648: error: implicit declaration of function ‘clear_dma_ff’ drivers/staging/comedi/drivers/das16.c:650: error: implicit declaration of function ‘set_dma_addr’ drivers/staging/comedi/drivers/das16.c:654: error: implicit declaration of function ‘set_dma_count’ drivers/staging/comedi/drivers/das16.c:655: error: implicit declaration of function ‘enable_dma’ drivers/staging/comedi/drivers/das16.c:656: error: implicit declaration of function ‘release_dma_lock’ drivers/staging/comedi/drivers/das16.c: In function ‘disable_dma_on_even’: drivers/staging/comedi/drivers/das16.c:845: error: implicit declaration of function ‘get_dma_residue’ drivers/staging/comedi/drivers/das16.c: In function ‘das16_attach’: drivers/staging/comedi/drivers/das16.c:1197: error: implicit declaration of function ‘set_dma_mode’ drivers/staging/comedi/drivers/das16.c:1197: error: ‘DMA_MODE_READ’ undeclared (first use in this function) drivers/staging/comedi/drivers/das16.c:1197: error: (Each undeclared identifier is reported only once drivers/staging/comedi/drivers/das16.c:1197: error: for each function it appears in.) make[2]: *** [drivers/staging/comedi/drivers/das16.o] Error 1 CC [M] drivers/staging/comedi/drivers/das1800.o drivers/staging/comedi/drivers/das1800.c: In function ‘das1800_flush_dma_channel’: drivers/staging/comedi/drivers/das1800.c:555: error: implicit declaration of function ‘disable_dma’ drivers/staging/comedi/drivers/das1800.c:559: error: implicit declaration of function ‘clear_dma_ff’ drivers/staging/comedi/drivers/das1800.c:562: error: implicit declaration of function ‘get_dma_residue’ drivers/staging/comedi/drivers/das1800.c: In function ‘das1800_flush_dma’: drivers/staging/comedi/drivers/das1800.c:586: error: implicit declaration of function ‘claim_dma_lock’ drivers/staging/comedi/drivers/das1800.c:603: error: implicit declaration of function ‘release_dma_lock’ drivers/staging/comedi/drivers/das1800.c: In function ‘das1800_handle_dma’: drivers/staging/comedi/drivers/das1800.c:622: error: implicit declaration of function ‘set_dma_addr’ drivers/staging/comedi/drivers/das1800.c:624: error: implicit declaration of function ‘set_dma_count’ drivers/staging/comedi/drivers/das1800.c:625: error: implicit declaration of function ‘enable_dma’ drivers/staging/comedi/drivers/das1800.c: In function ‘das1800_init_dma’: drivers/staging/comedi/drivers/das1800.c:1424: error: implicit declaration of function ‘set_dma_mode’ drivers/staging/comedi/drivers/das1800.c:1424: error: ‘DMA_MODE_READ’ undeclared (first use in this function) drivers/staging/comedi/drivers/das1800.c:1424: error: (Each undeclared identifier is reported only once drivers/staging/comedi/drivers/das1800.c:1424: error: for each function it appears in.) make[2]: *** [drivers/staging/comedi/drivers/das1800.o] Error 1 CC [M] drivers/staging/comedi/drivers/dt282x.o drivers/staging/comedi/drivers/dt282x.c: In function ‘dt282x_ao_dma_interrupt’: drivers/staging/comedi/drivers/dt282x.c:328: error: implicit declaration of function ‘disable_dma’ drivers/staging/comedi/drivers/dt282x.c: In function ‘prep_ai_dma’: drivers/staging/comedi/drivers/dt282x.c:416: error: implicit declaration of function ‘set_dma_mode’ drivers/staging/comedi/drivers/dt282x.c:416: error: ‘DMA_MODE_READ’ undeclared (first use in this function) drivers/staging/comedi/drivers/dt282x.c:416: error: (Each undeclared identifier is reported only once drivers/staging/comedi/drivers/dt282x.c:416: error: for each function it appears in.) drivers/staging/comedi/drivers/dt282x.c:417: error: implicit declaration of function ‘claim_dma_lock’ drivers/staging/comedi/drivers/dt282x.c:418: error: implicit declaration of function ‘clear_dma_ff’ drivers/staging/comedi/drivers/dt282x.c:419: error: implicit declaration of function ‘set_dma_addr’ drivers/staging/comedi/drivers/dt282x.c:420: error: implicit declaration of function ‘set_dma_count’ drivers/staging/comedi/drivers/dt282x.c:421: error: implicit declaration of function ‘release_dma_lock’ drivers/staging/comedi/drivers/dt282x.c:423: error: implicit declaration of function ‘enable_dma’ drivers/staging/comedi/drivers/dt282x.c: In function ‘prep_ao_dma’: drivers/staging/comedi/drivers/dt282x.c:439: error: ‘DMA_MODE_WRITE’ undeclared (first use in this function) drivers/staging/comedi/drivers/dt282x.c: In function ‘dt282x_interrupt’: drivers/staging/comedi/drivers/dt282x.c:471: error: ‘DMA_MODE_READ’ undeclared (first use in this function) drivers/staging/comedi/drivers/dt282x.c: In function ‘dt282x_ai_cmd’: drivers/staging/comedi/drivers/dt282x.c:690: error: ‘DMA_MODE_READ’ undeclared (first use in this function) drivers/staging/comedi/drivers/dt282x.c: In function ‘dt282x_ao_cmd’: drivers/staging/comedi/drivers/dt282x.c:938: error: ‘DMA_MODE_WRITE’ undeclared (first use in this function) make[2]: *** [drivers/staging/comedi/drivers/dt282x.o] Error 1 CC [M] drivers/staging/comedi/drivers/ni_at_a2150.o drivers/staging/comedi/drivers/ni_at_a2150.c: In function ‘a2150_interrupt’: drivers/staging/comedi/drivers/ni_at_a2150.c:237: error: implicit declaration of function ‘claim_dma_lock’ drivers/staging/comedi/drivers/ni_at_a2150.c:238: error: implicit declaration of function ‘disable_dma’ drivers/staging/comedi/drivers/ni_at_a2150.c:241: error: implicit declaration of function ‘clear_dma_ff’ drivers/staging/comedi/drivers/ni_at_a2150.c:249: error: implicit declaration of function ‘get_dma_residue’ drivers/staging/comedi/drivers/ni_at_a2150.c:286: error: implicit declaration of function ‘set_dma_addr’ drivers/staging/comedi/drivers/ni_at_a2150.c:287: error: implicit declaration of function ‘set_dma_count’ drivers/staging/comedi/drivers/ni_at_a2150.c:288: error: implicit declaration of function ‘enable_dma’ drivers/staging/comedi/drivers/ni_at_a2150.c:290: error: implicit declaration of function ‘release_dma_lock’ drivers/staging/comedi/drivers/ni_at_a2150.c: In function ‘a2150_attach’: drivers/staging/comedi/drivers/ni_at_a2150.c:794: error: implicit declaration of function ‘set_dma_mode’ drivers/staging/comedi/drivers/ni_at_a2150.c:794: error: ‘DMA_MODE_READ’ undeclared (first use in this function) drivers/staging/comedi/drivers/ni_at_a2150.c:794: error: (Each undeclared identifier is reported only once drivers/staging/comedi/drivers/ni_at_a2150.c:794: error: for each function it appears in.) make[2]: *** [drivers/staging/comedi/drivers/ni_at_a2150.o] Error 1 Make PCL816, PCL818, DAS16, DAS1800, DT282X, and NI_AT_A2150 depend on ISA_DMA_API to fix this. Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org> Reviewed-by: H Hartley Sweeten <hsweeten@visionengravers.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2013-01-25staging: comedi: addi_apci_1516: use addi_watchdog moduleH Hartley Sweeten
Use the addi_watchdog module to provide support for the watchdog subdevice. Signed-off-by: H Hartley Sweeten <hsweeten@visionengravers.com> Cc: Ian Abbott <abbotti@mev.co.uk> Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2013-01-22staging: comedi: addi_apci_2200: change the MODULE_DESCRIPTIONH Hartley Sweeten
Change the MODULE_DESCRIPTION to something more useful than the generic "Comedi low-level driver" so that modinfo provides a better description of the driver. Signed-off-by: H Hartley Sweeten <hsweeten@visionengravers.com> Cc: Ian Abbott <abbotti@mev.co.uk> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2013-01-21Staging: comedi: enable it to build on all archesGreg Kroah-Hartman
Hopefully all of the arch-specific problems are now resolved, so let's let this subsystem be enabled on all arches. If there are problems found, we will fix them up. Cc: Ian Abbott <abbotti@mev.co.uk> Cc: H Hartley Sweeten <hartleys@visionengravers.com> Cc: Bernd Porr <mail@berndporr.me.uk> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2013-01-21staging: comedi: Allow comedi on ARMIan Abbott
Bernd Porr reports success getting comedi to work on ARM. He writes: """ comedi works nicely on the Raspberry PI. I've compiled the rpi kernel with comedi enabled and it works with the USBDUX-sigma (need to test the other boards). With comedirecord running I can plot one channel at 1kHz without buffer overflow (resulting to 70% load). So, I guess we just need to add "ARM" to Kconfig in the comedi subdir? depends on BROKEN || FRV || M32R || MN10300 || SUPERH || TILE || X86 || ARM I'm running just now 3.2.27 but also the development kernel compiles with ARM enabled (haven't tested yet). /Bernd """ Enable the COMEDI config option to be selected for ARM. Signed-off-by: Ian Abbott <abbotti@mev.co.uk> Cc: Bernd Porr <mail@berndporr.me.uk> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2013-01-18staging: comedi: addi_apci_2032: use addi_watchdog moduleH Hartley Sweeten
Use the addi_watchdog module to provide support for the watchdog subdevice. Signed-off-by: H Hartley Sweeten <hsweeten@visionengravers.com> Cc: Ian Abbott <abbotti@mev.co.uk> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2013-01-18staging: comedi: introduce addi_watchdog driverH Hartley Sweeten
Many of the ADDI-DATA drivers have a "watchdog" subdevice that can be used to monitor digital output activity. All the digital outputs are released (set to 0) if the digital outputs are not accessed, or the watchdog it not pinged, before the timeout of the watchdog occurs. The only difference in the drivers for the watchdog subdevice is the base address used to talk to the watchdog registers. Instead of duplicating the code needed to support this watchdog, introduce a helper module, similar to the 8255 module. This module will be select'ed by the drivers that can use it. Signed-off-by: H Hartley Sweeten <hsweeten@visionengravers.com> Cc: Ian Abbott <abbotti@mev.co.uk> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2013-01-07staging: comedi: Kconfig: COMEDI_NI_AT_A2150 should select COMEDI_FCIan Abbott
The 'ni_at_a2150' module links to `cfc_write_to_buffer` in the 'comedi_fc' module, so selecting 'COMEDI_NI_AT_A2150' in the kernel config needs to also select 'COMEDI_FC'. Signed-off-by: Ian Abbott <abbotti@mev.co.uk> Cc: stable <stable@vger.kernel.org> # 3.6+ Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2012-11-13staging: comedi: Kconfig: remove VIRT_TO_BUS depends onH Hartley Sweeten
The only addi-data driver that uses virt_to_bus is addi_apci_3120. Remove the depends on for the other addi-data drivers. Signed-off-by: H Hartley Sweeten <hsweeten@visionengravers.com> Cc: Ian Abbott <abbotti@mev.co.uk> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2012-11-13staging: comedi: addi_apci_1516: update the KconfigH Hartley Sweeten
This driver does not use virt_to_bus(), remove the depends on for it. Update the Kconfig entry to list all the boards supported by this driver. Also, expand the help text a bit. Signed-off-by: H Hartley Sweeten <hsweeten@visionengravers.com> Cc: Ian Abbott <abbotti@mev.co.uk> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2012-11-13staging: comedi: addi_apci_1516: merge in addi_apci_2016 driverH Hartley Sweeten
The low-level hardware support code for these drivers, hwdrv_apci1516.c and hwdrv_apci2016.c, is identical. Both of these boards are 16 channel dio boards. The 1516 board has 8 input/8 output channels and the 2016 has 16 output channels. To ease maintainability, merge the boardinfo and pci device information from the addi_apci_2016 driver into the addi_apci_1516 driver and modify the Kconfig and Makefile appropriately. This allows deleting the addi_apci_2016.c and hwdrv_apci2016.c files. Signed-off-by: H Hartley Sweeten <hsweeten@visionengravers.com> Cc: Ian Abbott <abbotti@mev.co.uk> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2012-11-02staging: comedi: addi_apci_3120: merge in addi_apci_3001 driverH Hartley Sweeten
The addi_apci_3120 and addi_apci_3001 drivers share the same low-level board support code (hwdrv_apci3120). Merge the boardinfo and PCI_DEVICE information from the addi_apci_3001 driver into the addi_apci_3120 driver and delete then delete the addi_apci_3001 driver. Signed-off-by: H Hartley Sweeten <hsweeten@visionengravers.com> Cc: Ian Abbott <abbotti@mev.co.uk> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2012-10-24staging: comedi: Kconfig: update COMEDI_AMPLC_DIO200_PCI optionIan Abbott
Update the prompt line and description for the COMEDI_AMPLC_DIO200_PCI config option to add the new PCIe boards supported by the "amplc_dio200" driver. Signed-off-by: Ian Abbott <abbotti@mev.co.uk> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2012-10-24staging: comedi: amplc_dio200: don't select COMEDI_8255Ian Abbott
The "amplc_dio200" module no longer depends on the "8255" module, so the 'COMEDI_AMPLC_DIO200' Kconfig setting no longer needs to select 'COMEDI_8255'. Signed-off-by: Ian Abbott <abbotti@mev.co.uk> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2012-09-14staging: comedi: 8255_pci: move ni_pcidio 8255 board supportH Hartley Sweeten
The 8255 based boards in the ni_pcidio driver are all simple memory mapped 8255 boards that don't require the dma support provided by the mite driver. Move the support for these boards from the ni_pcidio driver to the generic 8255_pci driver. Signed-off-by: H Hartley Sweeten <hsweeten@visionengravers.com> Cc: Ian Abbott <abbotti@mev.co.uk> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2012-09-14staging: comedi: 8255_pci: add support for the PCI-DIO96H boardH Hartley Sweeten
Add support for the Measurement Computing PCI-DIO96H board to the generic 8255_pci driver. Signed-off-by: H Hartley Sweeten <hsweeten@visionengravers.com> Cc: Ian Abbott <abbotti@mev.co.uk> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2012-09-14staging: comedi: remove cb_pcidio driverH Hartley Sweeten
Move the support for the boards in the cb_pcidio driver to the generic 8255_pci driver and remove the cb_pcidio driver. Signed-off-by: H Hartley Sweeten <hsweeten@visionengravers.com> Cc: Ian Abbott <abbotti@mev.co.uk> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2012-09-14staging: comedi: rename adl_pci7296 driverH Hartley Sweeten
This driver will be used for all generic PCI based 8255 digital i/o boards. Rename the driver accordingly.. Signed-off-by: H Hartley Sweeten <hsweeten@visionengravers.com> Cc: Ian Abbott <abbotti@mev.co.uk> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2012-08-14staging: comedi: update adl_pci7296 driverH Hartley Sweeten
Currently this driver only supports the 96-channel PCI-7296. The 24 and 48 channel PCI-7224 and PCI-7248 boards share the same register map and just have less 8255 devices providing the i/o channels. This adds the PCI PnP support for the other boards in the ADLink PCI-72xx series. Also, remove the legacy attach using the comedi_config utility. This driver now supports the comedi PCI auto config attach mechanism and the legacy attach is not supported or required by this driver. Signed-off-by: H Hartley Sweeten <hsweeten@visionengravers.com> Cc: Ian Abbott <abbotti@mev.co.uk> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2012-08-14staging: comedi: remove adl_pci7230 and adl_pci7432 driversH Hartley Sweeten
The boards supported by these drivers are now handled by the adl_pci7x3x driver. Signed-off-by: H Hartley Sweeten <hsweeten@visionengravers.com> Cc: Ian Abbott <abbotti@mev.co.uk> Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2012-08-14staging: comedi: new adl_pci7x3x driverH Hartley Sweeten
Currently the ADLink PCI-7230 and PCI-7432 Isolated Digital I/O Boards are supported using two drivers (adl_pci7230 and adl_pci7432). These drivers are very similar and only differ in the total number of di/do channels provided. This driver combines the support for both boards into one common driver. In addition, it adds PCI PnP support for the other boards in the ADLink PCI-723x and PCI-743x series. This driver only supports the comedi PCI auto config attach mechanism. The legacy attach using the comedi_config utility is not supported or required by this driver. Signed-off-by: H Hartley Sweeten <hsweeten@visionengravers.com> Cc: Ian Abbott <abbotti@mev.co.uk> Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2012-06-26staging: comedi: Move COMEDI_MITE and COMEDI_NI_TIOCMDIan Abbott
Move the CONFIG_COMEDI_MITE config options into the `if COMEDI_PCI_DRIVERS` block so that the `depends on PCI` condition can be omitted. Move the CONFIG_COMEDI_NI_TIOCMD config option to the same block as it selects COMEDI_MITE. Move the CONFIG_COEMDI_NI_TIO config option slightly for aesthetic reasons without changing its conditions. Signed-off-by: Ian Abbott <abbotti@mev.co.uk> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2012-06-26staging: comedi: Simplify NI driver configurationIan Abbott
At the moment, the options to select drivers for various National Instruments boards in the "Comedi PCI drivers", "Comedi ISA and PC/104 drivers" and "Comedi PCMCIA drivers" menus do not appear unless you first enable and enter the "Comedi National Instruments card support" menu and possibly select some of the options in there. This is pretty confusing for the user. Get rid of the "Comedi National Instruments card support" menu (CONFIG_COMEDI_NI_COMMON) and make the CONFIG_COMEDI_MITE, CONFIG_COMEDI_NI_TIO and CONFIG_COMEDI_NI_TIOCMD options selectable by other options instead of dependencies of those other options. We lose the ability to build the 'mite', 'ni_tio' and 'ni_tiocmd' modules independently of other modules, but they are not useful on their own anyway. Signed-off-by: Ian Abbott <abbotti@mev.co.uk> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2012-06-26staging: comedi: Move COMEDI_NI_LABPC config optionIan Abbott
Move the CONFIG_COMEDI_NI_LABPC option ("NI Lab-PC and compatibles ISA and PCI support") from the CONFIG_COMEDI_NI_COMMON menu ("Comedi National Instruments card support --->") to the CONFIG_COMEDI_PCI_DRIVERS menu ("Comedi PCI drivers --->"). It currently depends on PCI but should be split up into separate ISA and PCI config options eventually as was done for the "das08" driver. For now, the PCI card menu seems the best place for it and I plan to get rid of the CONFIG_COMEDI_NI_COMMON menu altogether. Signed-off-by: Ian Abbott <abbotti@mev.co.uk> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2012-06-26staging: comedi: split CONFIG_COMEDI_NI_TIO optionIan Abbott
Selecting the CONFIG_COMEDI_NI_TIO config option causes the 'ni_tio' and 'ni_tiocmd' modules to be built. CONFIG_COMEDI_NI_TIO depends on CONFIG_COMEDI_MITE which in turn depends on CONFIG_PCI. However, not all the drivers that need the 'ni_tio' module also need the 'ni_tiocmd' module. Specifically, the ISA and PCMCIA drivers do not need the 'ni_tiocmd' module. Add a new config option CONFIG_COMEDI_NI_TIOCMD to control building of the 'ni_tiocmd' module. It depends on CONFIG_COMEDI_NI_TIO and CONFIG_COMEDI_MITE. The existing CONFIG_COMEDI_NI_TIO option no longer needs to depend on CONFIG_COMEDI_MITE. Make CONFIG_COMEDI_NI_660X ('ni_660x' module) and CONFIG_COMEDI_NI_PCIMIO ('ni_pcimio' module) depend on CONFIG_COMEDI_NI_TIOCMD instead of CONFIG_COMEDI_NI_TIO. Signed-off-by: Ian Abbott <abbotti@mev.co.uk> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>