staging: comedi: ni_660x: support NI PXI-6624
authorIan Abbott <abbotti@mev.co.uk>
Fri, 15 Mar 2013 11:16:36 +0000 (11:16 +0000)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 15 Mar 2013 16:12:25 +0000 (09:12 -0700)
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>
drivers/staging/comedi/Kconfig
drivers/staging/comedi/drivers/ni_660x.c

index 109168c..7841399 100644 (file)
@@ -993,7 +993,7 @@ config COMEDI_NI_660X
        select COMEDI_NI_TIOCMD
        ---help---
          Enable support for National Instruments PCI-6601 (ni_660x), PCI-6602,
-         PXI-6602 and PXI-6608.
+         PXI-6602, PXI-6608 and PXI-6624.
 
          To compile this driver as a module, choose M here: the module will be
          called ni_660x.
index 0b6547e..43b7ea8 100644 (file)
  * Driver: ni_660x
  * Description: National Instruments 660x counter/timer boards
  * Devices: [National Instruments] PCI-6601 (ni_660x), PCI-6602, PXI-6602,
- *   PXI-6608
+ *   PXI-6608, PXI-6624
  * Author: J.P. Mellor <jpmellor@rose-hulman.edu>,
  *   Herman.Bruyninckx@mech.kuleuven.ac.be,
  *   Wim.Meeussen@mech.kuleuven.ac.be,
  *   Klaas.Gadeyne@mech.kuleuven.ac.be,
  *   Frank Mori Hess <fmhess@users.sourceforge.net>
- * Updated: Thu Oct 18 12:56:06 EDT 2007
+ * Updated: Fri, 15 Mar 2013 10:47:56 +0000
  * Status: experimental
  *
  * Encoders work.  PulseGeneration (both single pulse and pulse train)
@@ -392,6 +392,7 @@ enum ni_660x_boardid {
        BOARD_PCI6602,
        BOARD_PXI6602,
        BOARD_PXI6608,
+       BOARD_PXI6624
 };
 
 struct ni_660x_board {
@@ -416,6 +417,10 @@ static const struct ni_660x_board ni_660x_boards[] = {
                .name           = "PXI-6608",
                .n_chips        = 2,
        },
+       [BOARD_PXI6624] = {
+               .name           = "PXI-6624",
+               .n_chips        = 2,
+       },
 };
 
 #define NI_660X_MAX_NUM_CHIPS 2
@@ -1326,6 +1331,7 @@ static DEFINE_PCI_DEVICE_TABLE(ni_660x_pci_table) = {
        { PCI_VDEVICE(NI, 0x1360), BOARD_PXI6602 },
        { PCI_VDEVICE(NI, 0x2c60), BOARD_PCI6601 },
        { PCI_VDEVICE(NI, 0x2cc0), BOARD_PXI6608 },
+       { PCI_VDEVICE(NI, 0x1e40), BOARD_PXI6624 },
        { 0 }
 };
 MODULE_DEVICE_TABLE(pci, ni_660x_pci_table);