aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/staging/comedi/Kconfig14
-rw-r--r--drivers/staging/comedi/drivers/Makefile1
-rw-r--r--drivers/staging/comedi/drivers/addi_apci_3001.c88
-rw-r--r--drivers/staging/comedi/drivers/addi_apci_3120.c37
4 files changed, 39 insertions, 101 deletions
diff --git a/drivers/staging/comedi/Kconfig b/drivers/staging/comedi/Kconfig
index 21a6748d7ad..6246bed00ef 100644
--- a/drivers/staging/comedi/Kconfig
+++ b/drivers/staging/comedi/Kconfig
@@ -647,22 +647,12 @@ config COMEDI_ADDI_APCI_2200
647 To compile this driver as a module, choose M here: the module will be 647 To compile this driver as a module, choose M here: the module will be
648 called addi_apci_2200. 648 called addi_apci_2200.
649 649
650config COMEDI_ADDI_APCI_3001
651 tristate "ADDI-DATA APCI_3001 support"
652 depends on VIRT_TO_BUS
653 select COMEDI_FC
654 ---help---
655 Enable support for ADDI-DATA APCI_3001 cards
656
657 To compile this driver as a module, choose M here: the module will be
658 called addi_apci_3001.
659
660config COMEDI_ADDI_APCI_3120 650config COMEDI_ADDI_APCI_3120
661 tristate "ADDI-DATA APCI_3520 support" 651 tristate "ADDI-DATA APCI_3120/3001 support"
662 depends on VIRT_TO_BUS 652 depends on VIRT_TO_BUS
663 select COMEDI_FC 653 select COMEDI_FC
664 ---help--- 654 ---help---
665 Enable support for ADDI-DATA APCI_3520 cards 655 Enable support for ADDI-DATA APCI_3120/3001 cards
666 656
667 To compile this driver as a module, choose M here: the module will be 657 To compile this driver as a module, choose M here: the module will be
668 called addi_apci_3120. 658 called addi_apci_3120.
diff --git a/drivers/staging/comedi/drivers/Makefile b/drivers/staging/comedi/drivers/Makefile
index a2787c0ca32..c784bedb911 100644
--- a/drivers/staging/comedi/drivers/Makefile
+++ b/drivers/staging/comedi/drivers/Makefile
@@ -65,7 +65,6 @@ obj-$(CONFIG_COMEDI_ADDI_APCI_16XX) += addi_apci_16xx.o
65obj-$(CONFIG_COMEDI_ADDI_APCI_2016) += addi_apci_2016.o 65obj-$(CONFIG_COMEDI_ADDI_APCI_2016) += addi_apci_2016.o
66obj-$(CONFIG_COMEDI_ADDI_APCI_2032) += addi_apci_2032.o 66obj-$(CONFIG_COMEDI_ADDI_APCI_2032) += addi_apci_2032.o
67obj-$(CONFIG_COMEDI_ADDI_APCI_2200) += addi_apci_2200.o 67obj-$(CONFIG_COMEDI_ADDI_APCI_2200) += addi_apci_2200.o
68obj-$(CONFIG_COMEDI_ADDI_APCI_3001) += addi_apci_3001.o
69obj-$(CONFIG_COMEDI_ADDI_APCI_3120) += addi_apci_3120.o 68obj-$(CONFIG_COMEDI_ADDI_APCI_3120) += addi_apci_3120.o
70obj-$(CONFIG_COMEDI_ADDI_APCI_3501) += addi_apci_3501.o 69obj-$(CONFIG_COMEDI_ADDI_APCI_3501) += addi_apci_3501.o
71obj-$(CONFIG_COMEDI_ADDI_APCI_3XXX) += addi_apci_3xxx.o 70obj-$(CONFIG_COMEDI_ADDI_APCI_3XXX) += addi_apci_3xxx.o
diff --git a/drivers/staging/comedi/drivers/addi_apci_3001.c b/drivers/staging/comedi/drivers/addi_apci_3001.c
deleted file mode 100644
index 90506a3d1dc..00000000000
--- a/drivers/staging/comedi/drivers/addi_apci_3001.c
+++ /dev/null
@@ -1,88 +0,0 @@
1#include "../comedidev.h"
2#include "comedi_fc.h"
3#include "amcc_s5933.h"
4
5#include "addi-data/addi_common.h"
6
7#include "addi-data/addi_eeprom.c"
8#include "addi-data/hwdrv_apci3120.c"
9#include "addi-data/addi_common.c"
10
11static const struct addi_board apci3001_boardtypes[] = {
12 {
13 .pc_DriverName = "apci3001",
14 .i_VendorId = PCI_VENDOR_ID_ADDIDATA_OLD,
15 .i_DeviceId = 0x828D,
16 .i_IorangeBase0 = AMCC_OP_REG_SIZE,
17 .i_IorangeBase1 = APCI3120_ADDRESS_RANGE,
18 .i_IorangeBase2 = 8,
19 .i_PCIEeprom = ADDIDATA_NO_EEPROM,
20 .i_NbrAiChannel = 16,
21 .i_NbrAiChannelDiff = 8,
22 .i_AiChannelList = 16,
23 .i_AiMaxdata = 0xfff,
24 .pr_AiRangelist = &range_apci3120_ai,
25 .i_NbrDiChannel = 4,
26 .i_NbrDoChannel = 4,
27 .i_DoMaxdata = 0x0f,
28 .i_Dma = 1,
29 .i_Timer = 1,
30 .b_AvailableConvertUnit = 1,
31 .ui_MinAcquisitiontimeNs = 10000,
32 .ui_MinDelaytimeNs = 100000,
33 .interrupt = v_APCI3120_Interrupt,
34 .reset = i_APCI3120_Reset,
35 .ai_config = i_APCI3120_InsnConfigAnalogInput,
36 .ai_read = i_APCI3120_InsnReadAnalogInput,
37 .ai_cmdtest = i_APCI3120_CommandTestAnalogInput,
38 .ai_cmd = i_APCI3120_CommandAnalogInput,
39 .ai_cancel = i_APCI3120_StopCyclicAcquisition,
40 .di_read = i_APCI3120_InsnReadDigitalInput,
41 .di_bits = i_APCI3120_InsnBitsDigitalInput,
42 .do_config = i_APCI3120_InsnConfigDigitalOutput,
43 .do_write = i_APCI3120_InsnWriteDigitalOutput,
44 .do_bits = i_APCI3120_InsnBitsDigitalOutput,
45 .timer_config = i_APCI3120_InsnConfigTimer,
46 .timer_write = i_APCI3120_InsnWriteTimer,
47 .timer_read = i_APCI3120_InsnReadTimer,
48 },
49};
50
51static struct comedi_driver apci3001_driver = {
52 .driver_name = "addi_apci_3001",
53 .module = THIS_MODULE,
54 .attach_pci = addi_attach_pci,
55 .detach = i_ADDI_Detach,
56 .num_names = ARRAY_SIZE(apci3001_boardtypes),
57 .board_name = &apci3001_boardtypes[0].pc_DriverName,
58 .offset = sizeof(struct addi_board),
59};
60
61static int __devinit apci3001_pci_probe(struct pci_dev *dev,
62 const struct pci_device_id *ent)
63{
64 return comedi_pci_auto_config(dev, &apci3001_driver);
65}
66
67static void __devexit apci3001_pci_remove(struct pci_dev *dev)
68{
69 comedi_pci_auto_unconfig(dev);
70}
71
72static DEFINE_PCI_DEVICE_TABLE(apci3001_pci_table) = {
73 { PCI_DEVICE(PCI_VENDOR_ID_ADDIDATA_OLD, 0x828d) },
74 { 0 }
75};
76MODULE_DEVICE_TABLE(pci, apci3001_pci_table);
77
78static struct pci_driver apci3001_pci_driver = {
79 .name = "addi_apci_3001",
80 .id_table = apci3001_pci_table,
81 .probe = apci3001_pci_probe,
82 .remove = __devexit_p(apci3001_pci_remove),
83};
84module_comedi_pci_driver(apci3001_driver, apci3001_pci_driver);
85
86MODULE_AUTHOR("Comedi http://www.comedi.org");
87MODULE_DESCRIPTION("Comedi low-level driver");
88MODULE_LICENSE("GPL");
diff --git a/drivers/staging/comedi/drivers/addi_apci_3120.c b/drivers/staging/comedi/drivers/addi_apci_3120.c
index 5db6bfc0e22..979b8a9703a 100644
--- a/drivers/staging/comedi/drivers/addi_apci_3120.c
+++ b/drivers/staging/comedi/drivers/addi_apci_3120.c
@@ -51,6 +51,42 @@ static const struct addi_board apci3120_boardtypes[] = {
51 .timer_config = i_APCI3120_InsnConfigTimer, 51 .timer_config = i_APCI3120_InsnConfigTimer,
52 .timer_write = i_APCI3120_InsnWriteTimer, 52 .timer_write = i_APCI3120_InsnWriteTimer,
53 .timer_read = i_APCI3120_InsnReadTimer, 53 .timer_read = i_APCI3120_InsnReadTimer,
54 }, {
55 .pc_DriverName = "apci3001",
56 .i_VendorId = PCI_VENDOR_ID_ADDIDATA_OLD,
57 .i_DeviceId = 0x828D,
58 .i_IorangeBase0 = AMCC_OP_REG_SIZE,
59 .i_IorangeBase1 = APCI3120_ADDRESS_RANGE,
60 .i_IorangeBase2 = 8,
61 .i_PCIEeprom = ADDIDATA_NO_EEPROM,
62 .i_NbrAiChannel = 16,
63 .i_NbrAiChannelDiff = 8,
64 .i_AiChannelList = 16,
65 .i_AiMaxdata = 0xfff,
66 .pr_AiRangelist = &range_apci3120_ai,
67 .i_NbrDiChannel = 4,
68 .i_NbrDoChannel = 4,
69 .i_DoMaxdata = 0x0f,
70 .i_Dma = 1,
71 .i_Timer = 1,
72 .b_AvailableConvertUnit = 1,
73 .ui_MinAcquisitiontimeNs = 10000,
74 .ui_MinDelaytimeNs = 100000,
75 .interrupt = v_APCI3120_Interrupt,
76 .reset = i_APCI3120_Reset,
77 .ai_config = i_APCI3120_InsnConfigAnalogInput,
78 .ai_read = i_APCI3120_InsnReadAnalogInput,
79 .ai_cmdtest = i_APCI3120_CommandTestAnalogInput,
80 .ai_cmd = i_APCI3120_CommandAnalogInput,
81 .ai_cancel = i_APCI3120_StopCyclicAcquisition,
82 .di_read = i_APCI3120_InsnReadDigitalInput,
83 .di_bits = i_APCI3120_InsnBitsDigitalInput,
84 .do_config = i_APCI3120_InsnConfigDigitalOutput,
85 .do_write = i_APCI3120_InsnWriteDigitalOutput,
86 .do_bits = i_APCI3120_InsnBitsDigitalOutput,
87 .timer_config = i_APCI3120_InsnConfigTimer,
88 .timer_write = i_APCI3120_InsnWriteTimer,
89 .timer_read = i_APCI3120_InsnReadTimer,
54 }, 90 },
55}; 91};
56 92
@@ -77,6 +113,7 @@ static void __devexit apci3120_pci_remove(struct pci_dev *dev)
77 113
78static DEFINE_PCI_DEVICE_TABLE(apci3120_pci_table) = { 114static DEFINE_PCI_DEVICE_TABLE(apci3120_pci_table) = {
79 { PCI_DEVICE(PCI_VENDOR_ID_ADDIDATA_OLD, 0x818d) }, 115 { PCI_DEVICE(PCI_VENDOR_ID_ADDIDATA_OLD, 0x818d) },
116 { PCI_DEVICE(PCI_VENDOR_ID_ADDIDATA_OLD, 0x828d) },
80 { 0 } 117 { 0 }
81}; 118};
82MODULE_DEVICE_TABLE(pci, apci3120_pci_table); 119MODULE_DEVICE_TABLE(pci, apci3120_pci_table);