From 8bdfefb7849c563e05aa60a4649cf4d0987b97b4 Mon Sep 17 00:00:00 2001 From: Ian Abbott Date: Fri, 15 Mar 2013 11:16:36 +0000 Subject: [PATCH] staging: comedi: ni_660x: support NI PXI-6624 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 Cc: Florent Boudet Signed-off-by: Greg Kroah-Hartman --- drivers/staging/comedi/Kconfig | 2 +- drivers/staging/comedi/drivers/ni_660x.c | 10 ++++++++-- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/drivers/staging/comedi/Kconfig b/drivers/staging/comedi/Kconfig index 109168c..7841399 100644 --- a/drivers/staging/comedi/Kconfig +++ b/drivers/staging/comedi/Kconfig @@ -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. diff --git a/drivers/staging/comedi/drivers/ni_660x.c b/drivers/staging/comedi/drivers/ni_660x.c index 0b6547e..43b7ea8 100644 --- a/drivers/staging/comedi/drivers/ni_660x.c +++ b/drivers/staging/comedi/drivers/ni_660x.c @@ -21,13 +21,13 @@ * 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 , * Herman.Bruyninckx@mech.kuleuven.ac.be, * Wim.Meeussen@mech.kuleuven.ac.be, * Klaas.Gadeyne@mech.kuleuven.ac.be, * Frank Mori Hess - * 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); -- 2.7.4