]> git.karo-electronics.de Git - karo-tx-linux.git/blob - drivers/staging/comedi/drivers/addi_apci_3xxx.c
staging: comedi: addi_apci_*: remove unneeded CONFIG_APCI_* defines
[karo-tx-linux.git] / drivers / staging / comedi / drivers / addi_apci_3xxx.c
1 #include "../comedidev.h"
2 #include "comedi_fc.h"
3
4 #include "addi-data/addi_common.h"
5 #include "addi-data/addi_amcc_s5933.h"
6
7 #define ADDIDATA_DRIVER_NAME    "addi_apci_3xxx"
8
9 #include "addi-data/addi_eeprom.c"
10 #include "addi-data/hwdrv_apci3xxx.c"
11
12 static const struct addi_board boardtypes[] = {
13         {
14                 .pc_DriverName          = "apci3000-16",
15                 .i_VendorId             = PCI_VENDOR_ID_ADDIDATA,
16                 .i_DeviceId             = 0x3010,
17                 .i_IorangeBase0         = 256,
18                 .i_IorangeBase1         = 256,
19                 .i_IorangeBase2         = 256,
20                 .i_IorangeBase3         = 256,
21                 .i_PCIEeprom            = ADDIDATA_NO_EEPROM,
22                 .pc_EepromChip          = ADDIDATA_9054,
23                 .i_NbrAiChannel         = 16,
24                 .i_NbrAiChannelDiff     = 8,
25                 .i_AiChannelList        = 16,
26                 .i_AiMaxdata            = 4095,
27                 .pr_AiRangelist         = &range_apci3XXX_ai,
28                 .i_NbrTTLChannel        = 24,
29                 .b_AvailableConvertUnit = 6,
30                 .ui_MinAcquisitiontimeNs = 10000,
31                 .interrupt              = v_APCI3XXX_Interrupt,
32                 .reset                  = i_APCI3XXX_Reset,
33                 .ai_config              = i_APCI3XXX_InsnConfigAnalogInput,
34                 .ai_read                = i_APCI3XXX_InsnReadAnalogInput,
35                 .ttl_config             = i_APCI3XXX_InsnConfigInitTTLIO,
36                 .ttl_bits               = i_APCI3XXX_InsnBitsTTLIO,
37                 .ttl_read               = i_APCI3XXX_InsnReadTTLIO,
38                 .ttl_write              = i_APCI3XXX_InsnWriteTTLIO,
39         }, {
40                 .pc_DriverName          = "apci3000-8",
41                 .i_VendorId             = PCI_VENDOR_ID_ADDIDATA,
42                 .i_DeviceId             = 0x300F,
43                 .i_IorangeBase0         = 256,
44                 .i_IorangeBase1         = 256,
45                 .i_IorangeBase2         = 256,
46                 .i_IorangeBase3         = 256,
47                 .i_PCIEeprom            = ADDIDATA_NO_EEPROM,
48                 .pc_EepromChip          = ADDIDATA_9054,
49                 .i_NbrAiChannel         = 8,
50                 .i_NbrAiChannelDiff     = 4,
51                 .i_AiChannelList        = 8,
52                 .i_AiMaxdata            = 4095,
53                 .pr_AiRangelist         = &range_apci3XXX_ai,
54                 .i_NbrTTLChannel        = 24,
55                 .b_AvailableConvertUnit = 6,
56                 .ui_MinAcquisitiontimeNs = 10000,
57                 .interrupt              = v_APCI3XXX_Interrupt,
58                 .reset                  = i_APCI3XXX_Reset,
59                 .ai_config              = i_APCI3XXX_InsnConfigAnalogInput,
60                 .ai_read                = i_APCI3XXX_InsnReadAnalogInput,
61                 .ttl_config             = i_APCI3XXX_InsnConfigInitTTLIO,
62                 .ttl_bits               = i_APCI3XXX_InsnBitsTTLIO,
63                 .ttl_read               = i_APCI3XXX_InsnReadTTLIO,
64                 .ttl_write              = i_APCI3XXX_InsnWriteTTLIO,
65         }, {
66                 .pc_DriverName          = "apci3000-4",
67                 .i_VendorId             = PCI_VENDOR_ID_ADDIDATA,
68                 .i_DeviceId             = 0x300E,
69                 .i_IorangeBase0         = 256,
70                 .i_IorangeBase1         = 256,
71                 .i_IorangeBase2         = 256,
72                 .i_IorangeBase3         = 256,
73                 .i_PCIEeprom            = ADDIDATA_NO_EEPROM,
74                 .pc_EepromChip          = ADDIDATA_9054,
75                 .i_NbrAiChannel         = 4,
76                 .i_NbrAiChannelDiff     = 2,
77                 .i_AiChannelList        = 4,
78                 .i_AiMaxdata            = 4095,
79                 .pr_AiRangelist         = &range_apci3XXX_ai,
80                 .i_NbrTTLChannel        = 24,
81                 .b_AvailableConvertUnit = 6,
82                 .ui_MinAcquisitiontimeNs = 10000,
83                 .interrupt              = v_APCI3XXX_Interrupt,
84                 .reset                  = i_APCI3XXX_Reset,
85                 .ai_config              = i_APCI3XXX_InsnConfigAnalogInput,
86                 .ai_read                = i_APCI3XXX_InsnReadAnalogInput,
87                 .ttl_config             = i_APCI3XXX_InsnConfigInitTTLIO,
88                 .ttl_bits               = i_APCI3XXX_InsnBitsTTLIO,
89                 .ttl_read               = i_APCI3XXX_InsnReadTTLIO,
90                 .ttl_write              = i_APCI3XXX_InsnWriteTTLIO,
91         }, {
92                 .pc_DriverName          = "apci3006-16",
93                 .i_VendorId             = PCI_VENDOR_ID_ADDIDATA,
94                 .i_DeviceId             = 0x3013,
95                 .i_IorangeBase0         = 256,
96                 .i_IorangeBase1         = 256,
97                 .i_IorangeBase2         = 256,
98                 .i_IorangeBase3         = 256,
99                 .i_PCIEeprom            = ADDIDATA_NO_EEPROM,
100                 .pc_EepromChip          = ADDIDATA_9054,
101                 .i_NbrAiChannel         = 16,
102                 .i_NbrAiChannelDiff     = 8,
103                 .i_AiChannelList        = 16,
104                 .i_AiMaxdata            = 65535,
105                 .pr_AiRangelist         = &range_apci3XXX_ai,
106                 .i_NbrTTLChannel        = 24,
107                 .b_AvailableConvertUnit = 6,
108                 .ui_MinAcquisitiontimeNs = 10000,
109                 .interrupt              = v_APCI3XXX_Interrupt,
110                 .reset                  = i_APCI3XXX_Reset,
111                 .ai_config              = i_APCI3XXX_InsnConfigAnalogInput,
112                 .ai_read                = i_APCI3XXX_InsnReadAnalogInput,
113                 .ttl_config             = i_APCI3XXX_InsnConfigInitTTLIO,
114                 .ttl_bits               = i_APCI3XXX_InsnBitsTTLIO,
115                 .ttl_read               = i_APCI3XXX_InsnReadTTLIO,
116                 .ttl_write              = i_APCI3XXX_InsnWriteTTLIO,
117         }, {
118                 .pc_DriverName          = "apci3006-8",
119                 .i_VendorId             = PCI_VENDOR_ID_ADDIDATA,
120                 .i_DeviceId             = 0x3014,
121                 .i_IorangeBase0         = 256,
122                 .i_IorangeBase1         = 256,
123                 .i_IorangeBase2         = 256,
124                 .i_IorangeBase3         = 256,
125                 .i_PCIEeprom            = ADDIDATA_NO_EEPROM,
126                 .pc_EepromChip          = ADDIDATA_9054,
127                 .i_NbrAiChannel         = 8,
128                 .i_NbrAiChannelDiff     = 4,
129                 .i_AiChannelList        = 8,
130                 .i_AiMaxdata            = 65535,
131                 .pr_AiRangelist         = &range_apci3XXX_ai,
132                 .i_NbrTTLChannel        = 24,
133                 .b_AvailableConvertUnit = 6,
134                 .ui_MinAcquisitiontimeNs = 10000,
135                 .interrupt              = v_APCI3XXX_Interrupt,
136                 .reset                  = i_APCI3XXX_Reset,
137                 .ai_config              = i_APCI3XXX_InsnConfigAnalogInput,
138                 .ai_read                = i_APCI3XXX_InsnReadAnalogInput,
139                 .ttl_config             = i_APCI3XXX_InsnConfigInitTTLIO,
140                 .ttl_bits               = i_APCI3XXX_InsnBitsTTLIO,
141                 .ttl_read               = i_APCI3XXX_InsnReadTTLIO,
142                 .ttl_write              = i_APCI3XXX_InsnWriteTTLIO,
143         }, {
144                 .pc_DriverName          = "apci3006-4",
145                 .i_VendorId             = PCI_VENDOR_ID_ADDIDATA,
146                 .i_DeviceId             = 0x3015,
147                 .i_IorangeBase0         = 256,
148                 .i_IorangeBase1         = 256,
149                 .i_IorangeBase2         = 256,
150                 .i_IorangeBase3         = 256,
151                 .i_PCIEeprom            = ADDIDATA_NO_EEPROM,
152                 .pc_EepromChip          = ADDIDATA_9054,
153                 .i_NbrAiChannel         = 4,
154                 .i_NbrAiChannelDiff     = 2,
155                 .i_AiChannelList        = 4,
156                 .i_AiMaxdata            = 65535,
157                 .pr_AiRangelist         = &range_apci3XXX_ai,
158                 .i_NbrTTLChannel        = 24,
159                 .b_AvailableConvertUnit = 6,
160                 .ui_MinAcquisitiontimeNs = 10000,
161                 .interrupt              = v_APCI3XXX_Interrupt,
162                 .reset                  = i_APCI3XXX_Reset,
163                 .ai_config              = i_APCI3XXX_InsnConfigAnalogInput,
164                 .ai_read                = i_APCI3XXX_InsnReadAnalogInput,
165                 .ttl_config             = i_APCI3XXX_InsnConfigInitTTLIO,
166                 .ttl_bits               = i_APCI3XXX_InsnBitsTTLIO,
167                 .ttl_read               = i_APCI3XXX_InsnReadTTLIO,
168                 .ttl_write              = i_APCI3XXX_InsnWriteTTLIO,
169         }, {
170                 .pc_DriverName          = "apci3010-16",
171                 .i_VendorId             = PCI_VENDOR_ID_ADDIDATA,
172                 .i_DeviceId             = 0x3016,
173                 .i_IorangeBase0         = 256,
174                 .i_IorangeBase1         = 256,
175                 .i_IorangeBase2         = 256,
176                 .i_IorangeBase3         = 256,
177                 .i_PCIEeprom            = ADDIDATA_NO_EEPROM,
178                 .pc_EepromChip          = ADDIDATA_9054,
179                 .i_NbrAiChannel         = 16,
180                 .i_NbrAiChannelDiff     = 8,
181                 .i_AiChannelList        = 16,
182                 .i_AiMaxdata            = 4095,
183                 .pr_AiRangelist         = &range_apci3XXX_ai,
184                 .i_NbrDiChannel         = 4,
185                 .i_NbrDoChannel         = 4,
186                 .i_DoMaxdata            = 1,
187                 .i_NbrTTLChannel        = 24,
188                 .b_AvailableConvertUnit = 6,
189                 .ui_MinAcquisitiontimeNs = 5000,
190                 .interrupt              = v_APCI3XXX_Interrupt,
191                 .reset                  = i_APCI3XXX_Reset,
192                 .ai_config              = i_APCI3XXX_InsnConfigAnalogInput,
193                 .ai_read                = i_APCI3XXX_InsnReadAnalogInput,
194                 .di_read                = i_APCI3XXX_InsnReadDigitalInput,
195                 .di_bits                = i_APCI3XXX_InsnBitsDigitalInput,
196                 .do_write               = i_APCI3XXX_InsnWriteDigitalOutput,
197                 .do_bits                = i_APCI3XXX_InsnBitsDigitalOutput,
198                 .do_read                = i_APCI3XXX_InsnReadDigitalOutput,
199                 .ttl_config             = i_APCI3XXX_InsnConfigInitTTLIO,
200                 .ttl_bits               = i_APCI3XXX_InsnBitsTTLIO,
201                 .ttl_read               = i_APCI3XXX_InsnReadTTLIO,
202                 .ttl_write              = i_APCI3XXX_InsnWriteTTLIO,
203         }, {
204                 .pc_DriverName          = "apci3010-8",
205                 .i_VendorId             = PCI_VENDOR_ID_ADDIDATA,
206                 .i_DeviceId             = 0x3017,
207                 .i_IorangeBase0         = 256,
208                 .i_IorangeBase1         = 256,
209                 .i_IorangeBase2         = 256,
210                 .i_IorangeBase3         = 256,
211                 .i_PCIEeprom            = ADDIDATA_NO_EEPROM,
212                 .pc_EepromChip          = ADDIDATA_9054,
213                 .i_NbrAiChannel         = 8,
214                 .i_NbrAiChannelDiff     = 4,
215                 .i_AiChannelList        = 8,
216                 .i_AiMaxdata            = 4095,
217                 .pr_AiRangelist         = &range_apci3XXX_ai,
218                 .i_NbrDiChannel         = 4,
219                 .i_NbrDoChannel         = 4,
220                 .i_DoMaxdata            = 1,
221                 .i_NbrTTLChannel        = 24,
222                 .b_AvailableConvertUnit = 6,
223                 .ui_MinAcquisitiontimeNs = 5000,
224                 .interrupt              = v_APCI3XXX_Interrupt,
225                 .reset                  = i_APCI3XXX_Reset,
226                 .ai_config              = i_APCI3XXX_InsnConfigAnalogInput,
227                 .ai_read                = i_APCI3XXX_InsnReadAnalogInput,
228                 .di_read                = i_APCI3XXX_InsnReadDigitalInput,
229                 .di_bits                = i_APCI3XXX_InsnBitsDigitalInput,
230                 .do_write               = i_APCI3XXX_InsnWriteDigitalOutput,
231                 .do_bits                = i_APCI3XXX_InsnBitsDigitalOutput,
232                 .do_read                = i_APCI3XXX_InsnReadDigitalOutput,
233                 .ttl_config             = i_APCI3XXX_InsnConfigInitTTLIO,
234                 .ttl_bits               = i_APCI3XXX_InsnBitsTTLIO,
235                 .ttl_read               = i_APCI3XXX_InsnReadTTLIO,
236                 .ttl_write              = i_APCI3XXX_InsnWriteTTLIO,
237         }, {
238                 .pc_DriverName          = "apci3010-4",
239                 .i_VendorId             = PCI_VENDOR_ID_ADDIDATA,
240                 .i_DeviceId             = 0x3018,
241                 .i_IorangeBase0         = 256,
242                 .i_IorangeBase1         = 256,
243                 .i_IorangeBase2         = 256,
244                 .i_IorangeBase3         = 256,
245                 .i_PCIEeprom            = ADDIDATA_NO_EEPROM,
246                 .pc_EepromChip          = ADDIDATA_9054,
247                 .i_NbrAiChannel         = 4,
248                 .i_NbrAiChannelDiff     = 2,
249                 .i_AiChannelList        = 4,
250                 .i_AiMaxdata            = 4095,
251                 .pr_AiRangelist         = &range_apci3XXX_ai,
252                 .i_NbrDiChannel         = 4,
253                 .i_NbrDoChannel         = 4,
254                 .i_DoMaxdata            = 1,
255                 .i_NbrTTLChannel        = 24,
256                 .b_AvailableConvertUnit = 6,
257                 .ui_MinAcquisitiontimeNs = 5000,
258                 .interrupt              = v_APCI3XXX_Interrupt,
259                 .reset                  = i_APCI3XXX_Reset,
260                 .ai_config              = i_APCI3XXX_InsnConfigAnalogInput,
261                 .ai_read                = i_APCI3XXX_InsnReadAnalogInput,
262                 .di_read                = i_APCI3XXX_InsnReadDigitalInput,
263                 .di_bits                = i_APCI3XXX_InsnBitsDigitalInput,
264                 .do_write               = i_APCI3XXX_InsnWriteDigitalOutput,
265                 .do_bits                = i_APCI3XXX_InsnBitsDigitalOutput,
266                 .do_read                = i_APCI3XXX_InsnReadDigitalOutput,
267                 .ttl_config             = i_APCI3XXX_InsnConfigInitTTLIO,
268                 .ttl_bits               = i_APCI3XXX_InsnBitsTTLIO,
269                 .ttl_read               = i_APCI3XXX_InsnReadTTLIO,
270                 .ttl_write              = i_APCI3XXX_InsnWriteTTLIO,
271         }, {
272                 .pc_DriverName          = "apci3016-16",
273                 .i_VendorId             = PCI_VENDOR_ID_ADDIDATA,
274                 .i_DeviceId             = 0x3019,
275                 .i_IorangeBase0         = 256,
276                 .i_IorangeBase1         = 256,
277                 .i_IorangeBase2         = 256,
278                 .i_IorangeBase3         = 256,
279                 .i_PCIEeprom            = ADDIDATA_NO_EEPROM,
280                 .pc_EepromChip          = ADDIDATA_9054,
281                 .i_NbrAiChannel         = 16,
282                 .i_NbrAiChannelDiff     = 8,
283                 .i_AiChannelList        = 16,
284                 .i_AiMaxdata            = 65535,
285                 .pr_AiRangelist         = &range_apci3XXX_ai,
286                 .i_NbrDiChannel         = 4,
287                 .i_NbrDoChannel         = 4,
288                 .i_DoMaxdata            = 1,
289                 .i_NbrTTLChannel        = 24,
290                 .b_AvailableConvertUnit = 6,
291                 .ui_MinAcquisitiontimeNs = 5000,
292                 .interrupt              = v_APCI3XXX_Interrupt,
293                 .reset                  = i_APCI3XXX_Reset,
294                 .ai_config              = i_APCI3XXX_InsnConfigAnalogInput,
295                 .ai_read                = i_APCI3XXX_InsnReadAnalogInput,
296                 .di_read                = i_APCI3XXX_InsnReadDigitalInput,
297                 .di_bits                = i_APCI3XXX_InsnBitsDigitalInput,
298                 .do_write               = i_APCI3XXX_InsnWriteDigitalOutput,
299                 .do_bits                = i_APCI3XXX_InsnBitsDigitalOutput,
300                 .do_read                = i_APCI3XXX_InsnReadDigitalOutput,
301                 .ttl_config             = i_APCI3XXX_InsnConfigInitTTLIO,
302                 .ttl_bits               = i_APCI3XXX_InsnBitsTTLIO,
303                 .ttl_read               = i_APCI3XXX_InsnReadTTLIO,
304                 .ttl_write              = i_APCI3XXX_InsnWriteTTLIO,
305         }, {
306                 .pc_DriverName          = "apci3016-8",
307                 .i_VendorId             = PCI_VENDOR_ID_ADDIDATA,
308                 .i_DeviceId             = 0x301A,
309                 .i_IorangeBase0         = 256,
310                 .i_IorangeBase1         = 256,
311                 .i_IorangeBase2         = 256,
312                 .i_IorangeBase3         = 256,
313                 .i_PCIEeprom            = ADDIDATA_NO_EEPROM,
314                 .pc_EepromChip          = ADDIDATA_9054,
315                 .i_NbrAiChannel         = 8,
316                 .i_NbrAiChannelDiff     = 4,
317                 .i_AiChannelList        = 8,
318                 .i_AiMaxdata            = 65535,
319                 .pr_AiRangelist         = &range_apci3XXX_ai,
320                 .i_NbrDiChannel         = 4,
321                 .i_NbrDoChannel         = 4,
322                 .i_DoMaxdata            = 1,
323                 .i_NbrTTLChannel        = 24,
324                 .b_AvailableConvertUnit = 6,
325                 .ui_MinAcquisitiontimeNs = 5000,
326                 .interrupt              = v_APCI3XXX_Interrupt,
327                 .reset                  = i_APCI3XXX_Reset,
328                 .ai_config              = i_APCI3XXX_InsnConfigAnalogInput,
329                 .ai_read                = i_APCI3XXX_InsnReadAnalogInput,
330                 .di_read                = i_APCI3XXX_InsnReadDigitalInput,
331                 .di_bits                = i_APCI3XXX_InsnBitsDigitalInput,
332                 .do_write               = i_APCI3XXX_InsnWriteDigitalOutput,
333                 .do_bits                = i_APCI3XXX_InsnBitsDigitalOutput,
334                 .do_read                = i_APCI3XXX_InsnReadDigitalOutput,
335                 .ttl_config             = i_APCI3XXX_InsnConfigInitTTLIO,
336                 .ttl_bits               = i_APCI3XXX_InsnBitsTTLIO,
337                 .ttl_read               = i_APCI3XXX_InsnReadTTLIO,
338                 .ttl_write              = i_APCI3XXX_InsnWriteTTLIO,
339         }, {
340                 .pc_DriverName          = "apci3016-4",
341                 .i_VendorId             = PCI_VENDOR_ID_ADDIDATA,
342                 .i_DeviceId             = 0x301B,
343                 .i_IorangeBase0         = 256,
344                 .i_IorangeBase1         = 256,
345                 .i_IorangeBase2         = 256,
346                 .i_IorangeBase3         = 256,
347                 .i_PCIEeprom            = ADDIDATA_NO_EEPROM,
348                 .pc_EepromChip          = ADDIDATA_9054,
349                 .i_NbrAiChannel         = 4,
350                 .i_NbrAiChannelDiff     = 2,
351                 .i_AiChannelList        = 4,
352                 .i_AiMaxdata            = 65535,
353                 .pr_AiRangelist         = &range_apci3XXX_ai,
354                 .i_NbrDiChannel         = 4,
355                 .i_NbrDoChannel         = 4,
356                 .i_DoMaxdata            = 1,
357                 .i_NbrTTLChannel        = 24,
358                 .b_AvailableConvertUnit = 6,
359                 .ui_MinAcquisitiontimeNs = 5000,
360                 .interrupt              = v_APCI3XXX_Interrupt,
361                 .reset                  = i_APCI3XXX_Reset,
362                 .ai_config              = i_APCI3XXX_InsnConfigAnalogInput,
363                 .ai_read                = i_APCI3XXX_InsnReadAnalogInput,
364                 .di_read                = i_APCI3XXX_InsnReadDigitalInput,
365                 .di_bits                = i_APCI3XXX_InsnBitsDigitalInput,
366                 .do_write               = i_APCI3XXX_InsnWriteDigitalOutput,
367                 .do_bits                = i_APCI3XXX_InsnBitsDigitalOutput,
368                 .do_read                = i_APCI3XXX_InsnReadDigitalOutput,
369                 .ttl_config             = i_APCI3XXX_InsnConfigInitTTLIO,
370                 .ttl_bits               = i_APCI3XXX_InsnBitsTTLIO,
371                 .ttl_read               = i_APCI3XXX_InsnReadTTLIO,
372                 .ttl_write              = i_APCI3XXX_InsnWriteTTLIO,
373         }, {
374                 .pc_DriverName          = "apci3100-16-4",
375                 .i_VendorId             = PCI_VENDOR_ID_ADDIDATA,
376                 .i_DeviceId             = 0x301C,
377                 .i_IorangeBase0         = 256,
378                 .i_IorangeBase1         = 256,
379                 .i_IorangeBase2         = 256,
380                 .i_IorangeBase3         = 256,
381                 .i_PCIEeprom            = ADDIDATA_NO_EEPROM,
382                 .pc_EepromChip          = ADDIDATA_9054,
383                 .i_NbrAiChannel         = 16,
384                 .i_NbrAiChannelDiff     = 8,
385                 .i_AiChannelList        = 16,
386                 .i_NbrAoChannel         = 4,
387                 .i_AiMaxdata            = 4095,
388                 .i_AoMaxdata            = 4095,
389                 .pr_AiRangelist         = &range_apci3XXX_ai,
390                 .pr_AoRangelist         = &range_apci3XXX_ao,
391                 .i_NbrTTLChannel        = 24,
392                 .b_AvailableConvertUnit = 6,
393                 .ui_MinAcquisitiontimeNs = 10000,
394                 .interrupt              = v_APCI3XXX_Interrupt,
395                 .reset                  = i_APCI3XXX_Reset,
396                 .ai_config              = i_APCI3XXX_InsnConfigAnalogInput,
397                 .ai_read                = i_APCI3XXX_InsnReadAnalogInput,
398                 .ao_write               = i_APCI3XXX_InsnWriteAnalogOutput,
399                 .ttl_config             = i_APCI3XXX_InsnConfigInitTTLIO,
400                 .ttl_bits               = i_APCI3XXX_InsnBitsTTLIO,
401                 .ttl_read               = i_APCI3XXX_InsnReadTTLIO,
402                 .ttl_write              = i_APCI3XXX_InsnWriteTTLIO,
403         }, {
404                 .pc_DriverName          = "apci3100-8-4",
405                 .i_VendorId             = PCI_VENDOR_ID_ADDIDATA,
406                 .i_DeviceId             = 0x301D,
407                 .i_IorangeBase0         = 256,
408                 .i_IorangeBase1         = 256,
409                 .i_IorangeBase2         = 256,
410                 .i_IorangeBase3         = 256,
411                 .i_PCIEeprom            = ADDIDATA_NO_EEPROM,
412                 .pc_EepromChip          = ADDIDATA_9054,
413                 .i_NbrAiChannel         = 8,
414                 .i_NbrAiChannelDiff     = 4,
415                 .i_AiChannelList        = 8,
416                 .i_NbrAoChannel         = 4,
417                 .i_AiMaxdata            = 4095,
418                 .i_AoMaxdata            = 4095,
419                 .pr_AiRangelist         = &range_apci3XXX_ai,
420                 .pr_AoRangelist         = &range_apci3XXX_ao,
421                 .i_NbrTTLChannel        = 24,
422                 .b_AvailableConvertUnit = 6,
423                 .ui_MinAcquisitiontimeNs = 10000,
424                 .interrupt              = v_APCI3XXX_Interrupt,
425                 .reset                  = i_APCI3XXX_Reset,
426                 .ai_config              = i_APCI3XXX_InsnConfigAnalogInput,
427                 .ai_read                = i_APCI3XXX_InsnReadAnalogInput,
428                 .ao_write               = i_APCI3XXX_InsnWriteAnalogOutput,
429                 .ttl_config             = i_APCI3XXX_InsnConfigInitTTLIO,
430                 .ttl_bits               = i_APCI3XXX_InsnBitsTTLIO,
431                 .ttl_read               = i_APCI3XXX_InsnReadTTLIO,
432                 .ttl_write              = i_APCI3XXX_InsnWriteTTLIO,
433         }, {
434                 .pc_DriverName          = "apci3106-16-4",
435                 .i_VendorId             = PCI_VENDOR_ID_ADDIDATA,
436                 .i_DeviceId             = 0x301E,
437                 .i_IorangeBase0         = 256,
438                 .i_IorangeBase1         = 256,
439                 .i_IorangeBase2         = 256,
440                 .i_IorangeBase3         = 256,
441                 .i_PCIEeprom            = ADDIDATA_NO_EEPROM,
442                 .pc_EepromChip          = ADDIDATA_9054,
443                 .i_NbrAiChannel         = 16,
444                 .i_NbrAiChannelDiff     = 8,
445                 .i_AiChannelList        = 16,
446                 .i_NbrAoChannel         = 4,
447                 .i_AiMaxdata            = 65535,
448                 .i_AoMaxdata            = 4095,
449                 .pr_AiRangelist         = &range_apci3XXX_ai,
450                 .pr_AoRangelist         = &range_apci3XXX_ao,
451                 .i_NbrTTLChannel        = 24,
452                 .b_AvailableConvertUnit = 6,
453                 .ui_MinAcquisitiontimeNs = 10000,
454                 .interrupt              = v_APCI3XXX_Interrupt,
455                 .reset                  = i_APCI3XXX_Reset,
456                 .ai_config              = i_APCI3XXX_InsnConfigAnalogInput,
457                 .ai_read                = i_APCI3XXX_InsnReadAnalogInput,
458                 .ao_write               = i_APCI3XXX_InsnWriteAnalogOutput,
459                 .ttl_config             = i_APCI3XXX_InsnConfigInitTTLIO,
460                 .ttl_bits               = i_APCI3XXX_InsnBitsTTLIO,
461                 .ttl_read               = i_APCI3XXX_InsnReadTTLIO,
462                 .ttl_write              = i_APCI3XXX_InsnWriteTTLIO,
463         }, {
464                 .pc_DriverName          = "apci3106-8-4",
465                 .i_VendorId             = PCI_VENDOR_ID_ADDIDATA,
466                 .i_DeviceId             = 0x301F,
467                 .i_IorangeBase0         = 256,
468                 .i_IorangeBase1         = 256,
469                 .i_IorangeBase2         = 256,
470                 .i_IorangeBase3         = 256,
471                 .i_PCIEeprom            = ADDIDATA_NO_EEPROM,
472                 .pc_EepromChip          = ADDIDATA_9054,
473                 .i_NbrAiChannel         = 8,
474                 .i_NbrAiChannelDiff     = 4,
475                 .i_AiChannelList        = 8,
476                 .i_NbrAoChannel         = 4,
477                 .i_AiMaxdata            = 65535,
478                 .i_AoMaxdata            = 4095,
479                 .pr_AiRangelist         = &range_apci3XXX_ai,
480                 .pr_AoRangelist         = &range_apci3XXX_ao,
481                 .i_NbrTTLChannel        = 24,
482                 .b_AvailableConvertUnit = 6,
483                 .ui_MinAcquisitiontimeNs = 10000,
484                 .interrupt              = v_APCI3XXX_Interrupt,
485                 .reset                  = i_APCI3XXX_Reset,
486                 .ai_config              = i_APCI3XXX_InsnConfigAnalogInput,
487                 .ai_read                = i_APCI3XXX_InsnReadAnalogInput,
488                 .ao_write               = i_APCI3XXX_InsnWriteAnalogOutput,
489                 .ttl_config             = i_APCI3XXX_InsnConfigInitTTLIO,
490                 .ttl_bits               = i_APCI3XXX_InsnBitsTTLIO,
491                 .ttl_read               = i_APCI3XXX_InsnReadTTLIO,
492                 .ttl_write              = i_APCI3XXX_InsnWriteTTLIO,
493         }, {
494                 .pc_DriverName          = "apci3110-16-4",
495                 .i_VendorId             = PCI_VENDOR_ID_ADDIDATA,
496                 .i_DeviceId             = 0x3020,
497                 .i_IorangeBase0         = 256,
498                 .i_IorangeBase1         = 256,
499                 .i_IorangeBase2         = 256,
500                 .i_IorangeBase3         = 256,
501                 .i_PCIEeprom            = ADDIDATA_NO_EEPROM,
502                 .pc_EepromChip          = ADDIDATA_9054,
503                 .i_NbrAiChannel         = 16,
504                 .i_NbrAiChannelDiff     = 8,
505                 .i_AiChannelList        = 16,
506                 .i_NbrAoChannel         = 4,
507                 .i_AiMaxdata            = 4095,
508                 .i_AoMaxdata            = 4095,
509                 .pr_AiRangelist         = &range_apci3XXX_ai,
510                 .pr_AoRangelist         = &range_apci3XXX_ao,
511                 .i_NbrDiChannel         = 4,
512                 .i_NbrDoChannel         = 4,
513                 .i_DoMaxdata            = 1,
514                 .i_NbrTTLChannel        = 24,
515                 .b_AvailableConvertUnit = 6,
516                 .ui_MinAcquisitiontimeNs = 5000,
517                 .interrupt              = v_APCI3XXX_Interrupt,
518                 .reset                  = i_APCI3XXX_Reset,
519                 .ai_config              = i_APCI3XXX_InsnConfigAnalogInput,
520                 .ai_read                = i_APCI3XXX_InsnReadAnalogInput,
521                 .ao_write               = i_APCI3XXX_InsnWriteAnalogOutput,
522                 .di_read                = i_APCI3XXX_InsnReadDigitalInput,
523                 .di_bits                = i_APCI3XXX_InsnBitsDigitalInput,
524                 .do_write               = i_APCI3XXX_InsnWriteDigitalOutput,
525                 .do_bits                = i_APCI3XXX_InsnBitsDigitalOutput,
526                 .do_read                = i_APCI3XXX_InsnReadDigitalOutput,
527                 .ttl_config             = i_APCI3XXX_InsnConfigInitTTLIO,
528                 .ttl_bits               = i_APCI3XXX_InsnBitsTTLIO,
529                 .ttl_read               = i_APCI3XXX_InsnReadTTLIO,
530                 .ttl_write              = i_APCI3XXX_InsnWriteTTLIO,
531         }, {
532                 .pc_DriverName          = "apci3110-8-4",
533                 .i_VendorId             = PCI_VENDOR_ID_ADDIDATA,
534                 .i_DeviceId             = 0x3021,
535                 .i_IorangeBase0         = 256,
536                 .i_IorangeBase1         = 256,
537                 .i_IorangeBase2         = 256,
538                 .i_IorangeBase3         = 256,
539                 .i_PCIEeprom            = ADDIDATA_NO_EEPROM,
540                 .pc_EepromChip          = ADDIDATA_9054,
541                 .i_NbrAiChannel         = 8,
542                 .i_NbrAiChannelDiff     = 4,
543                 .i_AiChannelList        = 8,
544                 .i_NbrAoChannel         = 4,
545                 .i_AiMaxdata            = 4095,
546                 .i_AoMaxdata            = 4095,
547                 .pr_AiRangelist         = &range_apci3XXX_ai,
548                 .pr_AoRangelist         = &range_apci3XXX_ao,
549                 .i_NbrDiChannel         = 4,
550                 .i_NbrDoChannel         = 4,
551                 .i_DoMaxdata            = 1,
552                 .i_NbrTTLChannel        = 24,
553                 .b_AvailableConvertUnit = 6,
554                 .ui_MinAcquisitiontimeNs = 5000,
555                 .interrupt              = v_APCI3XXX_Interrupt,
556                 .reset                  = i_APCI3XXX_Reset,
557                 .ai_config              = i_APCI3XXX_InsnConfigAnalogInput,
558                 .ai_read                = i_APCI3XXX_InsnReadAnalogInput,
559                 .ao_write               = i_APCI3XXX_InsnWriteAnalogOutput,
560                 .di_read                = i_APCI3XXX_InsnReadDigitalInput,
561                 .di_bits                = i_APCI3XXX_InsnBitsDigitalInput,
562                 .do_write               = i_APCI3XXX_InsnWriteDigitalOutput,
563                 .do_bits                = i_APCI3XXX_InsnBitsDigitalOutput,
564                 .do_read                = i_APCI3XXX_InsnReadDigitalOutput,
565                 .ttl_config             = i_APCI3XXX_InsnConfigInitTTLIO,
566                 .ttl_bits               = i_APCI3XXX_InsnBitsTTLIO,
567                 .ttl_read               = i_APCI3XXX_InsnReadTTLIO,
568                 .ttl_write              = i_APCI3XXX_InsnWriteTTLIO,
569         }, {
570                 .pc_DriverName          = "apci3116-16-4",
571                 .i_VendorId             = PCI_VENDOR_ID_ADDIDATA,
572                 .i_DeviceId             = 0x3022,
573                 .i_IorangeBase0         = 256,
574                 .i_IorangeBase1         = 256,
575                 .i_IorangeBase2         = 256,
576                 .i_IorangeBase3         = 256,
577                 .i_PCIEeprom            = ADDIDATA_NO_EEPROM,
578                 .pc_EepromChip          = ADDIDATA_9054,
579                 .i_NbrAiChannel         = 16,
580                 .i_NbrAiChannelDiff     = 8,
581                 .i_AiChannelList        = 16,
582                 .i_NbrAoChannel         = 4,
583                 .i_AiMaxdata            = 65535,
584                 .i_AoMaxdata            = 4095,
585                 .pr_AiRangelist         = &range_apci3XXX_ai,
586                 .pr_AoRangelist         = &range_apci3XXX_ao,
587                 .i_NbrDiChannel         = 4,
588                 .i_NbrDoChannel         = 4,
589                 .i_DoMaxdata            = 1,
590                 .i_NbrTTLChannel        = 24,
591                 .b_AvailableConvertUnit = 6,
592                 .ui_MinAcquisitiontimeNs = 5000,
593                 .interrupt              = v_APCI3XXX_Interrupt,
594                 .reset                  = i_APCI3XXX_Reset,
595                 .ai_config              = i_APCI3XXX_InsnConfigAnalogInput,
596                 .ai_read                = i_APCI3XXX_InsnReadAnalogInput,
597                 .ao_write               = i_APCI3XXX_InsnWriteAnalogOutput,
598                 .di_read                = i_APCI3XXX_InsnReadDigitalInput,
599                 .di_bits                = i_APCI3XXX_InsnBitsDigitalInput,
600                 .do_write               = i_APCI3XXX_InsnWriteDigitalOutput,
601                 .do_bits                = i_APCI3XXX_InsnBitsDigitalOutput,
602                 .do_read                = i_APCI3XXX_InsnReadDigitalOutput,
603                 .ttl_config             = i_APCI3XXX_InsnConfigInitTTLIO,
604                 .ttl_bits               = i_APCI3XXX_InsnBitsTTLIO,
605                 .ttl_read               = i_APCI3XXX_InsnReadTTLIO,
606                 .ttl_write              = i_APCI3XXX_InsnWriteTTLIO,
607         }, {
608                 .pc_DriverName          = "apci3116-8-4",
609                 .i_VendorId             = PCI_VENDOR_ID_ADDIDATA,
610                 .i_DeviceId             = 0x3023,
611                 .i_IorangeBase0         = 256,
612                 .i_IorangeBase1         = 256,
613                 .i_IorangeBase2         = 256,
614                 .i_IorangeBase3         = 256,
615                 .i_PCIEeprom            = ADDIDATA_NO_EEPROM,
616                 .pc_EepromChip          = ADDIDATA_9054,
617                 .i_NbrAiChannel         = 8,
618                 .i_NbrAiChannelDiff     = 4,
619                 .i_AiChannelList        = 8,
620                 .i_NbrAoChannel         = 4,
621                 .i_AiMaxdata            = 65535,
622                 .i_AoMaxdata            = 4095,
623                 .pr_AiRangelist         = &range_apci3XXX_ai,
624                 .pr_AoRangelist         = &range_apci3XXX_ao,
625                 .i_NbrDiChannel         = 4,
626                 .i_NbrDoChannel         = 4,
627                 .i_DoMaxdata            = 1,
628                 .i_NbrTTLChannel        = 24,
629                 .b_AvailableConvertUnit = 6,
630                 .ui_MinAcquisitiontimeNs = 5000,
631                 .interrupt              = v_APCI3XXX_Interrupt,
632                 .reset                  = i_APCI3XXX_Reset,
633                 .ai_config              = i_APCI3XXX_InsnConfigAnalogInput,
634                 .ai_read                = i_APCI3XXX_InsnReadAnalogInput,
635                 .ao_write               = i_APCI3XXX_InsnWriteAnalogOutput,
636                 .di_read                = i_APCI3XXX_InsnReadDigitalInput,
637                 .di_bits                = i_APCI3XXX_InsnBitsDigitalInput,
638                 .do_write               = i_APCI3XXX_InsnWriteDigitalOutput,
639                 .do_bits                = i_APCI3XXX_InsnBitsDigitalOutput,
640                 .do_read                = i_APCI3XXX_InsnReadDigitalOutput,
641                 .ttl_config             = i_APCI3XXX_InsnConfigInitTTLIO,
642                 .ttl_bits               = i_APCI3XXX_InsnBitsTTLIO,
643                 .ttl_read               = i_APCI3XXX_InsnReadTTLIO,
644                 .ttl_write              = i_APCI3XXX_InsnWriteTTLIO,
645         }, {
646                 .pc_DriverName          = "apci3003",
647                 .i_VendorId             = PCI_VENDOR_ID_ADDIDATA,
648                 .i_DeviceId             = 0x300B,
649                 .i_IorangeBase0         = 256,
650                 .i_IorangeBase1         = 256,
651                 .i_IorangeBase2         = 256,
652                 .i_IorangeBase3         = 256,
653                 .i_PCIEeprom            = ADDIDATA_NO_EEPROM,
654                 .pc_EepromChip          = ADDIDATA_9054,
655                 .i_NbrAiChannelDiff     = 4,
656                 .i_AiChannelList        = 4,
657                 .i_AiMaxdata            = 65535,
658                 .pr_AiRangelist         = &range_apci3XXX_ai,
659                 .i_NbrDiChannel         = 4,
660                 .i_NbrDoChannel         = 4,
661                 .i_DoMaxdata            = 1,
662                 .b_AvailableConvertUnit = 7,
663                 .ui_MinAcquisitiontimeNs = 2500,
664                 .interrupt              = v_APCI3XXX_Interrupt,
665                 .reset                  = i_APCI3XXX_Reset,
666                 .ai_config              = i_APCI3XXX_InsnConfigAnalogInput,
667                 .ai_read                = i_APCI3XXX_InsnReadAnalogInput,
668                 .di_read                = i_APCI3XXX_InsnReadDigitalInput,
669                 .di_bits                = i_APCI3XXX_InsnBitsDigitalInput,
670                 .do_write               = i_APCI3XXX_InsnWriteDigitalOutput,
671                 .do_bits                = i_APCI3XXX_InsnBitsDigitalOutput,
672                 .do_read                = i_APCI3XXX_InsnReadDigitalOutput,
673         }, {
674                 .pc_DriverName          = "apci3002-16",
675                 .i_VendorId             = PCI_VENDOR_ID_ADDIDATA,
676                 .i_DeviceId             = 0x3002,
677                 .i_IorangeBase0         = 256,
678                 .i_IorangeBase1         = 256,
679                 .i_IorangeBase2         = 256,
680                 .i_IorangeBase3         = 256,
681                 .i_PCIEeprom            = ADDIDATA_NO_EEPROM,
682                 .pc_EepromChip          = ADDIDATA_9054,
683                 .i_NbrAiChannelDiff     = 16,
684                 .i_AiChannelList        = 16,
685                 .i_AiMaxdata            = 65535,
686                 .pr_AiRangelist         = &range_apci3XXX_ai,
687                 .i_NbrDiChannel         = 4,
688                 .i_NbrDoChannel         = 4,
689                 .i_DoMaxdata            = 1,
690                 .b_AvailableConvertUnit = 6,
691                 .ui_MinAcquisitiontimeNs = 5000,
692                 .interrupt              = v_APCI3XXX_Interrupt,
693                 .reset                  = i_APCI3XXX_Reset,
694                 .ai_config              = i_APCI3XXX_InsnConfigAnalogInput,
695                 .ai_read                = i_APCI3XXX_InsnReadAnalogInput,
696                 .di_read                = i_APCI3XXX_InsnReadDigitalInput,
697                 .di_bits                = i_APCI3XXX_InsnBitsDigitalInput,
698                 .do_write               = i_APCI3XXX_InsnWriteDigitalOutput,
699                 .do_bits                = i_APCI3XXX_InsnBitsDigitalOutput,
700                 .do_read                = i_APCI3XXX_InsnReadDigitalOutput,
701         }, {
702                 .pc_DriverName          = "apci3002-8",
703                 .i_VendorId             = PCI_VENDOR_ID_ADDIDATA,
704                 .i_DeviceId             = 0x3003,
705                 .i_IorangeBase0         = 256,
706                 .i_IorangeBase1         = 256,
707                 .i_IorangeBase2         = 256,
708                 .i_IorangeBase3         = 256,
709                 .i_PCIEeprom            = ADDIDATA_NO_EEPROM,
710                 .pc_EepromChip          = ADDIDATA_9054,
711                 .i_NbrAiChannelDiff     = 8,
712                 .i_AiChannelList        = 8,
713                 .i_AiMaxdata            = 65535,
714                 .pr_AiRangelist         = &range_apci3XXX_ai,
715                 .i_NbrDiChannel         = 4,
716                 .i_NbrDoChannel         = 4,
717                 .i_DoMaxdata            = 1,
718                 .b_AvailableConvertUnit = 6,
719                 .ui_MinAcquisitiontimeNs = 5000,
720                 .interrupt              = v_APCI3XXX_Interrupt,
721                 .reset                  = i_APCI3XXX_Reset,
722                 .ai_config              = i_APCI3XXX_InsnConfigAnalogInput,
723                 .ai_read                = i_APCI3XXX_InsnReadAnalogInput,
724                 .di_read                = i_APCI3XXX_InsnReadDigitalInput,
725                 .di_bits                = i_APCI3XXX_InsnBitsDigitalInput,
726                 .do_write               = i_APCI3XXX_InsnWriteDigitalOutput,
727                 .do_bits                = i_APCI3XXX_InsnBitsDigitalOutput,
728                 .do_read                = i_APCI3XXX_InsnReadDigitalOutput,
729         }, {
730                 .pc_DriverName          = "apci3002-4",
731                 .i_VendorId             = PCI_VENDOR_ID_ADDIDATA,
732                 .i_DeviceId             = 0x3004,
733                 .i_IorangeBase0         = 256,
734                 .i_IorangeBase1         = 256,
735                 .i_IorangeBase2         = 256,
736                 .i_IorangeBase3         = 256,
737                 .i_PCIEeprom            = ADDIDATA_NO_EEPROM,
738                 .pc_EepromChip          = ADDIDATA_9054,
739                 .i_NbrAiChannelDiff     = 4,
740                 .i_AiChannelList        = 4,
741                 .i_AiMaxdata            = 65535,
742                 .pr_AiRangelist         = &range_apci3XXX_ai,
743                 .i_NbrDiChannel         = 4,
744                 .i_NbrDoChannel         = 4,
745                 .i_DoMaxdata            = 1,
746                 .b_AvailableConvertUnit = 6,
747                 .ui_MinAcquisitiontimeNs = 5000,
748                 .interrupt              = v_APCI3XXX_Interrupt,
749                 .reset                  = i_APCI3XXX_Reset,
750                 .ai_config              = i_APCI3XXX_InsnConfigAnalogInput,
751                 .ai_read                = i_APCI3XXX_InsnReadAnalogInput,
752                 .di_read                = i_APCI3XXX_InsnReadDigitalInput,
753                 .di_bits                = i_APCI3XXX_InsnBitsDigitalInput,
754                 .do_write               = i_APCI3XXX_InsnWriteDigitalOutput,
755                 .do_bits                = i_APCI3XXX_InsnBitsDigitalOutput,
756                 .do_read                = i_APCI3XXX_InsnReadDigitalOutput,
757         }, {
758                 .pc_DriverName          = "apci3500",
759                 .i_VendorId             = PCI_VENDOR_ID_ADDIDATA,
760                 .i_DeviceId             = 0x3024,
761                 .i_IorangeBase0         = 256,
762                 .i_IorangeBase1         = 256,
763                 .i_IorangeBase2         = 256,
764                 .i_IorangeBase3         = 256,
765                 .i_PCIEeprom            = ADDIDATA_NO_EEPROM,
766                 .pc_EepromChip          = ADDIDATA_9054,
767                 .i_NbrAoChannel         = 4,
768                 .i_AoMaxdata            = 4095,
769                 .pr_AoRangelist         = &range_apci3XXX_ao,
770                 .i_NbrTTLChannel        = 24,
771                 .interrupt              = v_APCI3XXX_Interrupt,
772                 .reset                  = i_APCI3XXX_Reset,
773                 .ao_write               = i_APCI3XXX_InsnWriteAnalogOutput,
774                 .ttl_config             = i_APCI3XXX_InsnConfigInitTTLIO,
775                 .ttl_bits               = i_APCI3XXX_InsnBitsTTLIO,
776                 .ttl_read               = i_APCI3XXX_InsnReadTTLIO,
777                 .ttl_write              = i_APCI3XXX_InsnWriteTTLIO,
778         },
779 };
780
781 static DEFINE_PCI_DEVICE_TABLE(addi_apci_tbl) = {
782         { PCI_DEVICE(PCI_VENDOR_ID_ADDIDATA, 0x3010) },
783         { PCI_DEVICE(PCI_VENDOR_ID_ADDIDATA, 0x300f) },
784         { PCI_DEVICE(PCI_VENDOR_ID_ADDIDATA, 0x300e) },
785         { PCI_DEVICE(PCI_VENDOR_ID_ADDIDATA, 0x3013) },
786         { PCI_DEVICE(PCI_VENDOR_ID_ADDIDATA, 0x3014) },
787         { PCI_DEVICE(PCI_VENDOR_ID_ADDIDATA, 0x3015) },
788         { PCI_DEVICE(PCI_VENDOR_ID_ADDIDATA, 0x3016) },
789         { PCI_DEVICE(PCI_VENDOR_ID_ADDIDATA, 0x3017) },
790         { PCI_DEVICE(PCI_VENDOR_ID_ADDIDATA, 0x3018) },
791         { PCI_DEVICE(PCI_VENDOR_ID_ADDIDATA, 0x3019) },
792         { PCI_DEVICE(PCI_VENDOR_ID_ADDIDATA, 0x301a) },
793         { PCI_DEVICE(PCI_VENDOR_ID_ADDIDATA, 0x301b) },
794         { PCI_DEVICE(PCI_VENDOR_ID_ADDIDATA, 0x301c) },
795         { PCI_DEVICE(PCI_VENDOR_ID_ADDIDATA, 0x301d) },
796         { PCI_DEVICE(PCI_VENDOR_ID_ADDIDATA, 0x301e) },
797         { PCI_DEVICE(PCI_VENDOR_ID_ADDIDATA, 0x301f) },
798         { PCI_DEVICE(PCI_VENDOR_ID_ADDIDATA, 0x3020) },
799         { PCI_DEVICE(PCI_VENDOR_ID_ADDIDATA, 0x3021) },
800         { PCI_DEVICE(PCI_VENDOR_ID_ADDIDATA, 0x3022) },
801         { PCI_DEVICE(PCI_VENDOR_ID_ADDIDATA, 0x3023) },
802         { PCI_DEVICE(PCI_VENDOR_ID_ADDIDATA, 0x300B) },
803         { PCI_DEVICE(PCI_VENDOR_ID_ADDIDATA, 0x3002) },
804         { PCI_DEVICE(PCI_VENDOR_ID_ADDIDATA, 0x3003) },
805         { PCI_DEVICE(PCI_VENDOR_ID_ADDIDATA, 0x3004) },
806         { PCI_DEVICE(PCI_VENDOR_ID_ADDIDATA, 0x3024) },
807         { 0 }
808 };
809 MODULE_DEVICE_TABLE(pci, addi_apci_tbl);
810
811 #include "addi-data/addi_common.c"
812
813 MODULE_AUTHOR("Comedi http://www.comedi.org");
814 MODULE_DESCRIPTION("Comedi low-level driver");
815 MODULE_LICENSE("GPL");