aboutsummaryrefslogtreecommitdiff
path: root/drivers/staging/comedi/Kconfig
AgeCommit message (Collapse)Author
2014-06-18staging: comedi: addi_apci_1564: add addi_watchdog dependencyArnd Bergmann
With commit aed3f9d498b ("staging: comedi: addi_apci_1564: absorb apci1564_reset()"), the apci 1564 driver has gained a dependency on the addi watchdog module, which is not reflected correctly in Kconfig, and that can lead to link errors when the watchdog is disabled. This adds an explicit 'select', like it is done in the other addi apci drivers that need it. Signed-off-by: Arnd Bergmann <arnd@arndb.de> Cc: H Hartley Sweeten <hsweeten@visionengravers.com> Acked-by: Ian Abbott <abbotti@mev.co.uk> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2014-05-23staging: comedi: pcl730: add support for Diamond Systems PC/104 modulesH Hartley Sweeten
The Diamond Systems OPMM-1616-XT board is a PC/104 module with 16 optoisolated inputs and 16 relay outputs. The PEARL-MM-P board is a PC/104 module with 16 relay outputs. Both of these boards can be supported by the pcl730 driver. 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>
2014-03-20staging: comedi: poc: remove obsolete driverH Hartley Sweeten
The DAC02 board, which is the only board supported by this driver, now has its own comedi driver (dac02). Remove this obsolete 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>
2014-03-17staging: comedi: dac02: introduce comedi driver for DAC02 boardsH Hartley Sweeten
This board is currently supported by the poc driver. That driver used to support a number of simple boards but now only provides support for the DAC02 board. Introduce a new comedi driver specifically for the DAC02 board. This allows cleaning up all the cruft. 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>
2014-03-17staging: comedi: quatech_daqp_cs: use cfc_handle_events()H Hartley Sweeten
Use the comedi_fc helper function to automatically call the subdevice (*cancel) function when needed and call comedi_event(). Update the Kconfig so that COMEDI_QUATECH_DAQP_CS selects COMEDI_FC. 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>
2014-03-17staging: comedi: dt3000: use cfc_handle_events()H Hartley Sweeten
Use the comedi_fc helper function to automatically call the subdevice (*cancel) function when needed and call comedi_event(). Update the Kconfig so that COMEDI_DT3000 selects COMEDI_FC. 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>
2014-03-17staging: comedi: pcl818: use cfc_handle_events()H Hartley Sweeten
Use the comedi_fc helper function to automatically call the subdevice (*cancel) function when needed and call comedi_event(). Update the Kconfig so that COMEDI_PCL818 selects COMEDI_FC. 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>
2014-03-17staging: comedi: pcl816: use cfc_handle_events()H Hartley Sweeten
Use the comedi_fc helper function to automatically call the subdevice (*cancel) function when needed and call comedi_event(). Update the Kconfig so that COMEDI_PCL816 selects COMEDI_FC. 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>
2014-03-17staging: comedi: pcl812: use cfc_handle_events()H Hartley Sweeten
Use the comedi_fc helper function to automatically call the subdevice (*cancel) function when needed and call comedi_event(). Update the Kconfig so that COMEDI_PCL812 selects COMEDI_FC. 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>
2014-03-17staging: comedi: adv_pci1710: use cfc_handle_events()H Hartley Sweeten
Use the comedi_fc helper function to automatically call the subdevice (*cancel) function when needed and call comedi_event(). Update the Kconfig to select COMEDI_FC when COMEDI_ADL_PCI9111 is enabled. 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>
2014-03-17staging: comedi: comedi_fc: export cfc_bytes_per_scan()H Hartley Sweeten
This helper function is a bit long to be inlined. Move it to the source file and export it. The mite driver is the only external user right now. Update the Kconfig to select COMEDI_FC when COMEDI_MITE is enabled. 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>
2014-01-13comedi: Humusoft MF634 and MF624 DAQ cards driverRostislav Lisovy
This patch adds Comedi driver for Humusoft MF634 (PCIe) and MF624 (PCI) data acquisition cards. The legacy card Humusoft MF614 is not supported. More info about the cards may be found at http://humusoft.cz/produkty/datacq/ The driver was tested with both cards. Everything seems to work properly. Just the basic functionality of the card (DIO, ADC, DAC) is supported by this driver. Signed-off-by: Rostislav Lisovy <lisovy@gmail.com> Reviewed-by: Ian Abbott <abbotti@mev.co.uk> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2013-10-03staging: comedi: ni_6527: remove COMEDI_MITE dependancyH Hartley Sweeten
The COMEDI_MITE driver is a wrapper for the National Instruments PCI MITE ASIC. This driver includes the PCI boilerplate used to remap the resources as well as the support code for bus mastered DMA. The ni_6527 does not support DMA and the COMEDI_MITE driver adds unnecessary complexity. Remove the need for the COMEDI_MITE driver by handling the ioremap directly in the (*attach). Store the ioremap'ed address in the private data. 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-09-26staging: comedi: Kconfig: COMEDI_NI_ATMIO should select COMEDI_FCH Hartley Sweeten
As pointed out by the kbuild test robot, the ni_atmio driver includes ni_mio_common.c which uses the helper functions in the comedi_fc module. Select the COMEDI_FC module when COMEDI_NI_ATMIO is enabled to fix the following build error: ERROR: "cfc_write_array_to_buffer" [drivers/staging/comedi/drivers/ni_atmio.ko] undefined! Signed-off-by: H Hartley Sweeten <hsweeten@visionengravers.com> Reported-by: Fengguang Wu <fengguang.wu@intel.com> Cc: Ian Abbott <abbotti@mev.co.uk> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
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-07-31staging: 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-08staging: 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-08staging: 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-08staging: 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-08staging: 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-08staging: 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-08staging: 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-04staging: 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-03staging: 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-21staging: 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>