Re: addi-data drivers

Anders Blomdell wrote:
> Hi everybody,
> 
> Since I need to use a driver for apci3106, I guess that I'll have to do some
> cleanup of the addi-data drivers, but after downloading the drivers from
> addi-data (http://www.addi-data.com/treiber/linux/comedi/comedi_Driver.tar.gz,
> v_1.13), and comparing them with cvs, I'm at a loss about which drivers to use
> as a starting point. I have enclosed a [tentative] patch against CVS
> (patch.addi-data.20070828), that seems to work with apci3106-16-4. There is also
> the patch against the CVS from late 2005 (patch.addi.2005-11-11) that I sent to
> weber.serge_at_addi-data.com, asking him to do additional cleanup and then submit
> it to the CVS maintainers, obviously this never happened :-( (and hence the last
> batch of cards was of another brand).
And here comes the full patch (I'll probably never learn how to use cvs diff to
properly handle local additions :-()

Sorry for the wast of bandwidth...

Regards

Anders Blomdell

-- 
Anders Blomdell                  Email: anders.blomdell_at_control.lth.se
Department of Automatic Control
Lund University                  Phone:    +46 46 222 4625
P.O. Box 118                     Fax:      +46 46 138118
SE-221 00 Lund, Sweden
diff -urN comedi-cvs-clean/comedi/drivers/addi_apci_035.c comedi-cvs-20070829/comedi/drivers/addi_apci_035.c
--- comedi-cvs-clean/comedi/drivers/addi_apci_035.c	1970-01-01 01:00:00.000000000 +0100
+++ comedi-cvs-20070829/comedi/drivers/addi_apci_035.c	2007-08-28 19:38:31.000000000 +0200
_at__at_ -0,0 +1,5 _at__at_
+#define CONFIG_APCI_035 1
+
+#define ADDIDATA_WATCHDOG 2  // Or shold it be something else
+
+#include "addi-data/addi_common.c"
diff -urN comedi-cvs-clean/comedi/drivers/addi_apci_1032.c comedi-cvs-20070829/comedi/drivers/addi_apci_1032.c
--- comedi-cvs-clean/comedi/drivers/addi_apci_1032.c	1970-01-01 01:00:00.000000000 +0100
+++ comedi-cvs-20070829/comedi/drivers/addi_apci_1032.c	2007-08-28 19:38:31.000000000 +0200
_at__at_ -0,0 +1,3 _at__at_
+#define CONFIG_APCI_1032 1
+
+#include "addi-data/addi_common.c"
diff -urN comedi-cvs-clean/comedi/drivers/addi_apci_1500.c comedi-cvs-20070829/comedi/drivers/addi_apci_1500.c
--- comedi-cvs-clean/comedi/drivers/addi_apci_1500.c	1970-01-01 01:00:00.000000000 +0100
+++ comedi-cvs-20070829/comedi/drivers/addi_apci_1500.c	2007-08-28 19:38:31.000000000 +0200
_at__at_ -0,0 +1,3 _at__at_
+#define CONFIG_APCI_1500 1
+
+#include "addi-data/addi_common.c"
diff -urN comedi-cvs-clean/comedi/drivers/addi_apci_1516.c comedi-cvs-20070829/comedi/drivers/addi_apci_1516.c
--- comedi-cvs-clean/comedi/drivers/addi_apci_1516.c	1970-01-01 01:00:00.000000000 +0100
+++ comedi-cvs-20070829/comedi/drivers/addi_apci_1516.c	2007-08-28 19:38:31.000000000 +0200
_at__at_ -0,0 +1,3 _at__at_
+#define CONFIG_APCI_1516 1
+
+#include "addi-data/addi_common.c"
diff -urN comedi-cvs-clean/comedi/drivers/addi_apci_1564.c comedi-cvs-20070829/comedi/drivers/addi_apci_1564.c
--- comedi-cvs-clean/comedi/drivers/addi_apci_1564.c	1970-01-01 01:00:00.000000000 +0100
+++ comedi-cvs-20070829/comedi/drivers/addi_apci_1564.c	2007-08-28 19:38:31.000000000 +0200
_at__at_ -0,0 +1,3 _at__at_
+#define CONFIG_APCI_1564 1
+
+#include "addi-data/addi_common.c"
diff -urN comedi-cvs-clean/comedi/drivers/addi_apci_16xx.c comedi-cvs-20070829/comedi/drivers/addi_apci_16xx.c
--- comedi-cvs-clean/comedi/drivers/addi_apci_16xx.c	1970-01-01 01:00:00.000000000 +0100
+++ comedi-cvs-20070829/comedi/drivers/addi_apci_16xx.c	2007-08-28 19:38:31.000000000 +0200
_at__at_ -0,0 +1,3 _at__at_
+#define CONFIG_APCI_16XX 1
+
+#include "addi-data/addi_common.c"
diff -urN comedi-cvs-clean/comedi/drivers/addi_apci_1710.c comedi-cvs-20070829/comedi/drivers/addi_apci_1710.c
--- comedi-cvs-clean/comedi/drivers/addi_apci_1710.c	1970-01-01 01:00:00.000000000 +0100
+++ comedi-cvs-20070829/comedi/drivers/addi_apci_1710.c	2007-08-28 19:38:31.000000000 +0200
_at__at_ -0,0 +1,3 _at__at_
+#define CONFIG_APCI_1710 1
+
+#include "addi-data/addi_common.c"
diff -urN comedi-cvs-clean/comedi/drivers/addi_apci_2016.c comedi-cvs-20070829/comedi/drivers/addi_apci_2016.c
--- comedi-cvs-clean/comedi/drivers/addi_apci_2016.c	1970-01-01 01:00:00.000000000 +0100
+++ comedi-cvs-20070829/comedi/drivers/addi_apci_2016.c	2007-08-28 19:38:31.000000000 +0200
_at__at_ -0,0 +1,3 _at__at_
+#define CONFIG_APCI_2016 1
+
+#include "addi-data/addi_common.c"
diff -urN comedi-cvs-clean/comedi/drivers/addi_apci_2032.c comedi-cvs-20070829/comedi/drivers/addi_apci_2032.c
--- comedi-cvs-clean/comedi/drivers/addi_apci_2032.c	1970-01-01 01:00:00.000000000 +0100
+++ comedi-cvs-20070829/comedi/drivers/addi_apci_2032.c	2007-08-28 19:38:31.000000000 +0200
_at__at_ -0,0 +1,3 _at__at_
+#define CONFIG_APCI_2032 1
+
+#include "addi-data/addi_common.c"
diff -urN comedi-cvs-clean/comedi/drivers/addi_apci_2200.c comedi-cvs-20070829/comedi/drivers/addi_apci_2200.c
--- comedi-cvs-clean/comedi/drivers/addi_apci_2200.c	1970-01-01 01:00:00.000000000 +0100
+++ comedi-cvs-20070829/comedi/drivers/addi_apci_2200.c	2007-08-28 19:38:31.000000000 +0200
_at__at_ -0,0 +1,3 _at__at_
+#define CONFIG_APCI_2200 1
+
+#include "addi-data/addi_common.c"
diff -urN comedi-cvs-clean/comedi/drivers/addi_apci_3001.c comedi-cvs-20070829/comedi/drivers/addi_apci_3001.c
--- comedi-cvs-clean/comedi/drivers/addi_apci_3001.c	1970-01-01 01:00:00.000000000 +0100
+++ comedi-cvs-20070829/comedi/drivers/addi_apci_3001.c	2007-08-28 19:38:31.000000000 +0200
_at__at_ -0,0 +1,3 _at__at_
+#define CONFIG_APCI_3001 1
+
+#include "addi-data/addi_common.c"
diff -urN comedi-cvs-clean/comedi/drivers/addi_apci_3120.c comedi-cvs-20070829/comedi/drivers/addi_apci_3120.c
--- comedi-cvs-clean/comedi/drivers/addi_apci_3120.c	1970-01-01 01:00:00.000000000 +0100
+++ comedi-cvs-20070829/comedi/drivers/addi_apci_3120.c	2007-08-28 19:38:31.000000000 +0200
_at__at_ -0,0 +1,3 _at__at_
+#define CONFIG_APCI_3120 1
+
+#include "addi-data/addi_common.c"
diff -urN comedi-cvs-clean/comedi/drivers/addi_apci_3200.c comedi-cvs-20070829/comedi/drivers/addi_apci_3200.c
--- comedi-cvs-clean/comedi/drivers/addi_apci_3200.c	1970-01-01 01:00:00.000000000 +0100
+++ comedi-cvs-20070829/comedi/drivers/addi_apci_3200.c	2007-08-28 19:38:31.000000000 +0200
_at__at_ -0,0 +1,3 _at__at_
+#define CONFIG_APCI_3200 1
+
+#include "addi-data/addi_common.c"
diff -urN comedi-cvs-clean/comedi/drivers/addi_apci_3300.c comedi-cvs-20070829/comedi/drivers/addi_apci_3300.c
--- comedi-cvs-clean/comedi/drivers/addi_apci_3300.c	1970-01-01 01:00:00.000000000 +0100
+++ comedi-cvs-20070829/comedi/drivers/addi_apci_3300.c	2007-08-28 19:38:31.000000000 +0200
_at__at_ -0,0 +1,3 _at__at_
+#define CONFIG_APCI_3300 1
+
+#include "addi-data/addi_common.c"
diff -urN comedi-cvs-clean/comedi/drivers/addi_apci_3501.c comedi-cvs-20070829/comedi/drivers/addi_apci_3501.c
--- comedi-cvs-clean/comedi/drivers/addi_apci_3501.c	1970-01-01 01:00:00.000000000 +0100
+++ comedi-cvs-20070829/comedi/drivers/addi_apci_3501.c	2007-08-28 19:38:31.000000000 +0200
_at__at_ -0,0 +1,3 _at__at_
+#define CONFIG_APCI_3501 1
+
+#include "addi-data/addi_common.c"
diff -urN comedi-cvs-clean/comedi/drivers/addi_apci_3xxx.c comedi-cvs-20070829/comedi/drivers/addi_apci_3xxx.c
--- comedi-cvs-clean/comedi/drivers/addi_apci_3xxx.c	1970-01-01 01:00:00.000000000 +0100
+++ comedi-cvs-20070829/comedi/drivers/addi_apci_3xxx.c	2007-08-28 19:38:31.000000000 +0200
_at__at_ -0,0 +1,3 _at__at_
+#define CONFIG_APCI_3XXX 1
+
+#include "addi-data/addi_common.c"
diff -urN comedi-cvs-clean/comedi/drivers/addi_apci_all.c comedi-cvs-20070829/comedi/drivers/addi_apci_all.c
--- comedi-cvs-clean/comedi/drivers/addi_apci_all.c	1970-01-01 01:00:00.000000000 +0100
+++ comedi-cvs-20070829/comedi/drivers/addi_apci_all.c	2007-08-28 19:38:31.000000000 +0200
_at__at_ -0,0 +1,18 _at__at_
+#define CONFIG_APCI_035  1
+#define CONFIG_APCI_1032 1  
+#define CONFIG_APCI_1500 1
+#define CONFIG_APCI_1516 1
+#define CONFIG_APCI_1564 1
+#define CONFIG_APCI_16XX 1
+#define CONFIG_APCI_1710 1
+#define CONFIG_APCI_2016 1
+#define CONFIG_APCI_2032 1
+#define CONFIG_APCI_2200 1
+#define CONFIG_APCI_3001 1
+#define CONFIG_APCI_3120 1
+#define CONFIG_APCI_3200 1
+#define CONFIG_APCI_3300 1
+#define CONFIG_APCI_3501 1
+#define CONFIG_APCI_3XXX 1
+
+#include "addi-data/addi_common.c"
diff -urN comedi-cvs-clean/comedi/drivers/addi-data/addi_common.c comedi-cvs-20070829/comedi/drivers/addi-data/addi_common.c
--- comedi-cvs-clean/comedi/drivers/addi-data/addi_common.c	2007-06-27 12:23:45.000000000 +0200
+++ comedi-cvs-20070829/comedi/drivers/addi-data/addi_common.c	2007-08-28 21:42:20.000000000 +0200
_at__at_ -92,24 +92,56 _at__at_
 	}
 
 #include "addi_eeprom.c"
-#include "hwdrv_apci3120.c"
-#include "hwdrv_apci1032.c"
-#include "hwdrv_apci1516.c"
-#include "hwdrv_apci2016.c"
-#include "hwdrv_apci2032.c"
-#include "hwdrv_apci2200.c"
-#include "hwdrv_apci1564.c"
-#include "hwdrv_apci1500.c"
-#include "hwdrv_apci3501.c"
-#include "hwdrv_apci035.c"
-#include "hwdrv_apci3200.c" 
-#include "hwdrv_APCI1710.c"
-#include "hwdrv_apci16xx.c"
-#include "hwdrv_apci3xxx.c"
-
+#if (defined (CONFIG_APCI_3120) || defined (CONFIG_APCI_3001))
+   #include "hwdrv_apci3120.c"
+#endif
+#ifdef CONFIG_APCI_1032
+   #include "hwdrv_apci1032.c"
+#endif
+#ifdef CONFIG_APCI_1516
+   #include "hwdrv_apci1516.c"
+#endif
+#ifdef CONFIG_APCI_2016
+   #include "hwdrv_apci2016.c"
+#endif
+#ifdef CONFIG_APCI_2032
+   #include "hwdrv_apci2032.c"
+#endif
+#ifdef CONFIG_APCI_2200
+   #include "hwdrv_apci2200.c"
+#endif
+#ifdef CONFIG_APCI_1564
+   #include "hwdrv_apci1564.c"
+#endif
+#ifdef CONFIG_APCI_1500
+   #include "hwdrv_apci1500.c"
+#endif
+#ifdef CONFIG_APCI_3501
+   #include "hwdrv_apci3501.c"
+#endif
+#ifdef CONFIG_APCI_035
+   #include "hwdrv_apci035.c"
+#endif
+#if (defined (CONFIG_APCI_3200) || defined (CONFIG_APCI_3300))
+   #include "hwdrv_apci3200.c" 
+#endif
+#ifdef CONFIG_APCI_1710
+   #include "hwdrv_APCI1710.c"
+#endif
+#ifdef CONFIG_APCI_16XX
+   #include "hwdrv_apci16xx.c"
+#endif
+#ifdef CONFIG_APCI_3XXX
+   #include "hwdrv_apci3xxx.c"
+#endif
+
+#ifndef COMEDI_SUBD_TTLIO
+   #define COMEDI_SUBD_TTLIO   11  /* Digital Input Output But TTL */
+#endif
 
 static boardtype boardtypes[] =
 {
+#ifdef CONFIG_APCI_3120
 		{"apci3120", 
 		APCI3120_BOARD_VENDOR_ID,
 		0x818D,
_at__at_ -166,7 +198,8 _at__at_
 		NULL,
 		NULL
 		},
-    
+#endif
+#ifdef CONFIG_APCI_1032    
                 {"apci1032",
 		APCI1032_BOARD_VENDOR_ID,
 		0x1003,
_at__at_ -223,7 +256,8 _at__at_
 		NULL,
 		NULL
                 },
-		
+#endif
+#ifdef CONFIG_APCI_1516
                 {"apci1516",
 		APCI1516_BOARD_VENDOR_ID,
 		0x1001,
_at__at_ -279,7 +313,8 _at__at_
 		NULL,
 		NULL
                 },
-
+#endif
+#ifdef CONFIG_APCI_2016
                 {"apci2016",
 		APCI2016_BOARD_VENDOR_ID,
 		0x1002,
_at__at_ -336,7 +371,8 _at__at_
 		NULL,
 		NULL
                 },
- 
+#endif
+#ifdef CONFIG_APCI_2032
                 {"apci2032", 
 		APCI2032_BOARD_VENDOR_ID, 
 		0x1004,
_at__at_ -392,7 +428,8 _at__at_
 		NULL,
 		NULL
                 },
-		
+#endif
+#ifdef CONFIG_APCI_2200
                 {"apci2200",
 		APCI2200_BOARD_VENDOR_ID,
 		0x1005,
_at__at_ -448,7 +485,8 _at__at_
 		NULL,
 		NULL
                 },
-		
+#endif
+#ifdef CONFIG_APCI_1564
                 {"apci1564",
 		APCI1564_BOARD_VENDOR_ID,
 		0x1006,
_at__at_ -505,7 +543,8 _at__at_
 		NULL,
 		NULL
                 },
-		
+#endif
+#ifdef CONFIG_APCI_1500
                 {"apci1500", 
 		APCI1500_BOARD_VENDOR_ID, 
 		0x80fc,
_at__at_ -562,8 +601,8 _at__at_
 		NULL,
 		NULL
                 },
-                
-
+#endif
+#ifdef CONFIG_APCI_3001
                {"apci3001", 
 	        APCI3120_BOARD_VENDOR_ID, 
 		0x828D,
_at__at_ -620,7 +659,8 _at__at_
 		NULL,
 		NULL
 		},
-		
+#endif
+#ifdef CONFIG_APCI_3501
                 {"apci3501", 
 		APCI3501_BOARD_VENDOR_ID, 
 		0x3001,
_at__at_ -676,7 +716,8 _at__at_
 		NULL,
 		NULL
                 },
-		
+#endif
+#ifdef CONFIG_APCI_035
                 {"apci035", 
 		APCI035_BOARD_VENDOR_ID, 
 		0x0300,
_at__at_ -733,7 +774,8 _at__at_
 		NULL,
 		NULL
 		},
-		
+#endif
+#ifdef CONFIG_APCI_3200
                 {"apci3200", 
 		APCI3200_BOARD_VENDOR_ID, 
 		0x3000,
_at__at_ -790,7 +832,8 _at__at_
 		NULL,
 		NULL
 		},
-		
+#endif
+#ifdef CONFIG_APCI_3300
 		//Begin JK 20.10.2004: APCI-3300 integration
                 {"apci3300", 
 		APCI3200_BOARD_VENDOR_ID, 
_at__at_ -848,8 +891,8 _at__at_
 		NULL,
 		NULL
 		},
-		
-		//End JK 20.10.2004: APCI-3300 integration				
+#endif
+#ifdef CONFIG_APCI_1710
 		{"apci1710",APCI1710_BOARD_VENDOR_ID,APCI1710_BOARD_DEVICE_ID,
 	 	128,
 		8,
_at__at_ -904,7 +947,8 _at__at_
 		NULL,
 		NULL
 		},
-		
+#endif
+#ifdef CONFIG_APCI_16XX
                 {"apci1648", 
                 0x15B8,
                 0x1009,
_at__at_ -1019,7 +1063,8 _at__at_
 		i_APCI16XX_InsnReadTTLIOAllPortValue,
 		i_APCI16XX_InsnBitsWriteTTLIO
                 },
-
+#endif
+#ifdef CONFIG_APCI_3XXX
 		{"apci3000-16", 
 		0x15B8,
 		0x3010,
_at__at_ -1381,7 +1426,7 _at__at_
 		NULL,
 		4,
 		4,
-		0xF,
+		1,
 		24,
 		&range_apci3XXX_ttl,
 		0,
_at__at_ -1438,7 +1483,7 _at__at_
 		NULL,
 		4,
 		4,
-		0xF,
+		1,
 		24,
 		&range_apci3XXX_ttl,
 		0,
_at__at_ -1495,7 +1540,7 _at__at_
 		NULL,
 		4,
 		4,
-		0xF,
+		1,
 		24,
 		&range_apci3XXX_ttl,
 		0,
_at__at_ -1552,7 +1597,7 _at__at_
 		NULL,
 		4,
 		4,
-		0xF,
+		1,
 		24,
 		&range_apci3XXX_ttl,
 		0,
_at__at_ -1609,7 +1654,7 _at__at_
 		NULL,
 		4,
 		4,
-		0xF,
+		1,
 		24,
 		&range_apci3XXX_ttl,
 		0,
_at__at_ -1666,7 +1711,7 _at__at_
 		NULL,
 		4,
 		4,
-		0xF,
+		1,
 		24,
 		&range_apci3XXX_ttl,
 		0,
_at__at_ -1721,9 +1766,9 _at__at_
 		4095,
 		&range_apci3XXX_ai, 
 		&range_apci3XXX_ao,
-		4,
-		4,
-		0xF,
+		0,
+		0,
+		0,
 		24,
 		&range_apci3XXX_ttl,
 		0,
_at__at_ -1778,9 +1823,9 _at__at_
 		4095,
 		&range_apci3XXX_ai, 
 		&range_apci3XXX_ao,
-		4,
-		4,
-		0xF,
+		0,
+		0,
+		0,
 		24,
 		&range_apci3XXX_ttl,
 		0,
_at__at_ -1835,9 +1880,9 _at__at_
 		4095,
 		&range_apci3XXX_ai, 
 		&range_apci3XXX_ao,
-		4,
-		4,
-		0xF,
+		0,
+		0,
+		0,
 		24,
 		&range_apci3XXX_ttl,
 		0,
_at__at_ -1892,9 +1937,9 _at__at_
 		4095,
 		&range_apci3XXX_ai, 
 		&range_apci3XXX_ao,
-		4,
-		4,
-		0xF,
+		0,
+		0,
+		0,
 		24,
 		&range_apci3XXX_ttl,
 		0,
_at__at_ -1951,7 +1996,7 _at__at_
 		&range_apci3XXX_ao,
 		4,
 		4,
-		0xF,
+		1,
 		24,
 		&range_apci3XXX_ttl,
 		0,
_at__at_ -2008,7 +2053,7 _at__at_
 		&range_apci3XXX_ao,
 		4,
 		4,
-		0xF,
+		1,
 		24,
 		&range_apci3XXX_ttl,
 		0,
_at__at_ -2065,7 +2110,7 _at__at_
 		&range_apci3XXX_ao,
 		4,
 		4,
-		0xF,
+		1,
 		24,
 		&range_apci3XXX_ttl,
 		0,
_at__at_ -2122,7 +2167,7 _at__at_
 		&range_apci3XXX_ao,
 		4,
 		4,
-		0xF,
+		1,
 		24,
 		&range_apci3XXX_ttl,
 		0,
_at__at_ -2179,7 +2224,7 _at__at_
 		NULL,
 		4,
 		4,
-		0xF,
+		1,
 		0,
 		NULL,
 		0,
_at__at_ -2235,7 +2280,7 _at__at_
 		NULL,
 		4,
 		4,
-		0xF,
+		1,
 		0,
 		NULL,
 		0,
_at__at_ -2291,7 +2336,7 _at__at_
 		NULL,
 		4,
 		4,
-		0xF,
+		1,
 		0,
 		NULL,
 		0,
_at__at_ -2347,7 +2392,7 _at__at_
 		NULL,
 		4,
 		4,
-		0xF,
+		1,
 		0,
 		NULL,
 		0,
_at__at_ -2440,6 +2485,7 _at__at_
 		i_APCI3XXX_InsnReadTTLIO,
 		i_APCI3XXX_InsnWriteTTLIO
 		},
+#endif
 };
 
 #define n_boardtypes (sizeof(boardtypes)/sizeof(boardtype))
_at__at_ -2450,7 +2496,7 _at__at_
 		attach:		i_ADDI_Attach,
 		detach:		i_ADDI_Detach, 
 		num_names:	n_boardtypes,
-		board_name:	boardtypes,
+		board_name:	&boardtypes[0].pc_DriverName,
 		offset:		sizeof(boardtype),
 	};
 
_at__at_ -2721,10 +2767,12 _at__at_
 
 	if (!strcmp(this_board->pc_DriverName,"apci1710"))
 	   {
+#ifdef CONFIG_APCI_1710
 	   i_ADDI_AttachPCI1710 (dev);
     
 	   // save base address
 	   devpriv->s_BoardInfos.ui_Address=io_addr[2];
+#endif
 	   }       
 	else
 	{
_at__at_ -2740,15 +2788,22 _at__at_
 	dev->read_subdev = s;
 	s->type = COMEDI_SUBD_AI;
 	s->subdev_flags = SDF_READABLE|SDF_RT|SDF_COMMON|SDF_GROUND|SDF_DIFF;
-	if (this_board->i_NbrAiChannel)
-	   s->n_chan = this_board->i_NbrAiChannel;
+	if (this_board->i_NbrAiChannel) 
+	  {
+	    s->n_chan = this_board->i_NbrAiChannel;
+	    devpriv->b_SingelDiff = 0;
+	  }
 	else
-	   s->n_chan = this_board->i_NbrAiChannelDiff;
+	  {
+	    s->n_chan = this_board->i_NbrAiChannelDiff;
+	    devpriv->b_SingelDiff = 1;
+	  }
 	s->maxdata = this_board->i_AiMaxdata;
 	s->len_chanlist = this_board->i_AiChannelList;
 	s->range_table = this_board->pr_AiRangelist;
        
-        
+        /* Set the initialisation flag */
+        devpriv->b_AiInitialisation = 1;        
         
         s->insn_config=this_board->i_hwdrv_InsnConfigAnalogInput;
 	s->insn_read=this_board->i_hwdrv_InsnReadAnalogInput;
_at__at_ -2851,10 +2906,10 _at__at_
 	s->type         = COMEDI_SUBD_TTLIO;
 	s->subdev_flags = SDF_WRITEABLE|SDF_READABLE|SDF_RT|SDF_GROUND|SDF_COMMON;
 	s->n_chan       = this_board->i_NbrTTLChannel;
-	s->maxdata      = 0;
+	s->maxdata      = 1;
 	s->io_bits=0;		/* all bits input */
 	s->len_chanlist = this_board->i_NbrTTLChannel;
-    	s->range_table  = this_board->pr_TTLRangelist; // to pass arguments in range	
+    	s->range_table  = &range_digital;
         s->insn_config  = this_board->i_hwdr_ConfigInitTTLIO;
 	s->insn_bits    = this_board->i_hwdr_ReadTTLIOBits;
         s->insn_read    = this_board->i_hwdr_ReadTTLIOAllPortValue;
_at__at_ -3017,7 +3072,7 _at__at_
 /*
 +----------------------------------------------------------------------------+
 | Function name     :                                                        |
-|static void v_ADDI_Interrupt(int irq, void *d, struct pt_regs *regs)        |
+|static void v_ADDI_Interrupt(int irq, void *d  PT_REGS_ARG)                 |
 |                                        									 |
 +----------------------------------------------------------------------------+
 | Task              : Registerd interrupt routine						     |
_at__at_ -3032,10 +3087,10 _at__at_
 +----------------------------------------------------------------------------+
 */
 
-static irqreturn_t v_ADDI_Interrupt(int irq, void *d, struct pt_regs *regs)
+static irqreturn_t v_ADDI_Interrupt(int irq, void *d  PT_REGS_ARG)
 {
 comedi_device *dev = d;
-this_board->v_hwdrv_Interrupt(irq,d,regs);
+this_board->v_hwdrv_Interrupt(irq,d);
 return IRQ_RETVAL(1);
 }
 // EEPROM Read Function
diff -urN comedi-cvs-clean/comedi/drivers/addi-data/addi_common.h comedi-cvs-20070829/comedi/drivers/addi-data/addi_common.h
--- comedi-cvs-clean/comedi/drivers/addi-data/addi_common.h	2005-10-06 19:42:06.000000000 +0200
+++ comedi-cvs-20070829/comedi/drivers/addi-data/addi_common.h	2007-08-28 20:21:20.000000000 +0200
_at__at_ -101,11 +101,16 _at__at_
 #define ADDIDATA_S5933        "S5933"
 #define ADDIDATA_9054         "9054"
 
+//ADDIDATA Enable Disable
+#define ADDIDATA_ENABLE                            1
+#define ADDIDATA_DISABLE                           0
+
+
 // Structures
 // structure for the boardtype
 typedef struct {
 
-		PCHAR  		pc_DriverName; // driver name
+		const PCHAR  		pc_DriverName; // driver name
 		INT 		i_VendorId;   //PCI vendor a device ID of card
 		INT			i_DeviceId;
                 INT         i_IorangeBase0;
_at__at_ -137,7 +142,7 _at__at_
 		UINT        ui_MinDelaytimeNs;       // Minimum Delay in Nano secs
 
 // interrupt and reset
- void (*v_hwdrv_Interrupt)(int irq, void *d, struct pt_regs *regs);
+ void (*v_hwdrv_Interrupt)(int irq, void *d);
  int (*i_hwdrv_Reset)(comedi_device *dev);
 
 //Subdevice functions 
_at__at_ -496,7 +501,7 _at__at_
 static int i_ADDI_Detach(comedi_device *dev);
 static int i_ADDI_Reset(comedi_device *dev);
 
-static irqreturn_t v_ADDI_Interrupt(int irq, void *d, struct pt_regs *regs);
+static irqreturn_t v_ADDI_Interrupt(int irq, void *d  PT_REGS_ARG);
 static int i_ADDIDATA_InsnReadEeprom(comedi_device *dev,comedi_subdevice *s,comedi_insn *insn,lsampl_t *data);
 
 
diff -urN comedi-cvs-clean/comedi/drivers/addi-data/hwdrv_apci035.c comedi-cvs-20070829/comedi/drivers/addi-data/hwdrv_apci035.c
--- comedi-cvs-clean/comedi/drivers/addi-data/hwdrv_apci035.c	2005-10-07 07:06:34.000000000 +0200
+++ comedi-cvs-20070829/comedi/drivers/addi-data/hwdrv_apci035.c	2007-08-28 19:57:02.000000000 +0200
_at__at_ -553,13 +553,12 _at__at_
 /*
 +----------------------------------------------------------------------------+
 | Function   Name   : static void v_APCI035_Interrupt					     |
-|					  (int irq , void *d, struct pt_regs *regs)      |
+|					  (int irq , void *d)      |
 +----------------------------------------------------------------------------+
 | Task              : Interrupt processing Routine                           |
 +----------------------------------------------------------------------------+
 | Input Parameters  : int irq                 : irq number                   |
 |                     void *d                 : void pointer                 |
-|                     struct pt_regs *regs    : structure pointer            |
 +----------------------------------------------------------------------------+
 | Output Parameters :	--													 |
 +----------------------------------------------------------------------------+
_at__at_ -568,7 +567,7 _at__at_
 |			                                                         |
 +----------------------------------------------------------------------------+
 */
-static void v_APCI035_Interrupt(int irq, void *d, struct pt_regs *regs) 
+static void v_APCI035_Interrupt(int irq, void *d) 
 {	
    comedi_device *dev = d;
    UINT ui_StatusRegister1 = 0;
diff -urN comedi-cvs-clean/comedi/drivers/addi-data/hwdrv_apci035.h comedi-cvs-20070829/comedi/drivers/addi-data/hwdrv_apci035.h
--- comedi-cvs-clean/comedi/drivers/addi-data/hwdrv_apci035.h	2005-10-07 07:06:34.000000000 +0200
+++ comedi-cvs-20070829/comedi/drivers/addi-data/hwdrv_apci035.h	2007-08-28 20:00:50.000000000 +0200
_at__at_ -131,7 +131,7 _at__at_
 
 
 //Interrupt
-static void v_APCI035_Interrupt(int irq, void *d, struct pt_regs *regs) ;
+static void v_APCI035_Interrupt(int irq, void *d) ;
 
 //Reset functions
 INT i_APCI035_Reset(comedi_device *dev);	
diff -urN comedi-cvs-clean/comedi/drivers/addi-data/hwdrv_apci1032.c comedi-cvs-20070829/comedi/drivers/addi-data/hwdrv_apci1032.c
--- comedi-cvs-clean/comedi/drivers/addi-data/hwdrv_apci1032.c	2005-10-07 07:06:34.000000000 +0200
+++ comedi-cvs-20070829/comedi/drivers/addi-data/hwdrv_apci1032.c	2007-08-28 19:59:20.000000000 +0200
_at__at_ -227,13 +227,12 _at__at_
 /*
 +----------------------------------------------------------------------------+
 | Function   Name   : static void v_APCI1032_Interrupt					     |
-|					  (int irq , void *d, struct pt_regs *regs)      |
+|					  (int irq , void *d)      |
 +----------------------------------------------------------------------------+
 | Task              : Interrupt handler for the interruptible digital inputs |
 +----------------------------------------------------------------------------+
 | Input Parameters  : int irq                 : irq number                   |
 |                     void *d                 : void pointer                 |
-|                     struct pt_regs *regs    : structure pointer            |
 +----------------------------------------------------------------------------+
 | Output Parameters :	--						     |
 +----------------------------------------------------------------------------+
_at__at_ -242,7 +241,7 _at__at_
 |			                                                     |
 +----------------------------------------------------------------------------+
 */
-static VOID v_APCI1032_Interrupt(int irq,void* d, struct pt_regs *regs) 
+static VOID v_APCI1032_Interrupt(int irq,void* d) 
 {
  comedi_device *dev =d; 	
  
diff -urN comedi-cvs-clean/comedi/drivers/addi-data/hwdrv_apci1032.h comedi-cvs-20070829/comedi/drivers/addi-data/hwdrv_apci1032.h
--- comedi-cvs-clean/comedi/drivers/addi-data/hwdrv_apci1032.h	2005-10-06 19:42:06.000000000 +0200
+++ comedi-cvs-20070829/comedi/drivers/addi-data/hwdrv_apci1032.h	2007-08-28 20:02:09.000000000 +0200
_at__at_ -76,6 +76,6 _at__at_
 
 // Interrupt functions.....
 
-static VOID v_APCI1032_Interrupt(int irq, void *d, struct pt_regs *regs) ;
+static VOID v_APCI1032_Interrupt(int irq, void *d) ;
 //Reset
 INT i_APCI1032_Reset(comedi_device *dev);
diff -urN comedi-cvs-clean/comedi/drivers/addi-data/hwdrv_apci1500.c comedi-cvs-20070829/comedi/drivers/addi-data/hwdrv_apci1500.c
--- comedi-cvs-clean/comedi/drivers/addi-data/hwdrv_apci1500.c	2005-10-07 07:06:34.000000000 +0200
+++ comedi-cvs-20070829/comedi/drivers/addi-data/hwdrv_apci1500.c	2007-08-28 19:58:50.000000000 +0200
_at__at_ -2303,13 +2303,12 _at__at_
 /*
 +----------------------------------------------------------------------------+
 | Function   Name   : static void v_APCI1500_Interrupt					     |
-|					  (int irq , void *d, struct pt_regs *regs)      |
+|					  (int irq , void *d)      |
 +----------------------------------------------------------------------------+
 | Task              : Interrupt handler                                      |
 +----------------------------------------------------------------------------+
 | Input Parameters  : int irq                 : irq number                   |
 |                     void *d                 : void pointer                 |
-|                     struct pt_regs *regs    : structure pointer            |
 +----------------------------------------------------------------------------+
 | Output Parameters :	--													 |
 +----------------------------------------------------------------------------+
_at__at_ -2318,7 +2317,7 _at__at_
 |			                                                         |
 +----------------------------------------------------------------------------+
 */
-static VOID v_APCI1500_Interrupt(int irq,void* d, struct pt_regs *regs) 
+static VOID v_APCI1500_Interrupt(int irq,void* d) 
 {
  
  comedi_device *dev =d;
diff -urN comedi-cvs-clean/comedi/drivers/addi-data/hwdrv_apci1500.h comedi-cvs-20070829/comedi/drivers/addi-data/hwdrv_apci1500.h
--- comedi-cvs-clean/comedi/drivers/addi-data/hwdrv_apci1500.h	2005-10-06 19:42:06.000000000 +0200
+++ comedi-cvs-20070829/comedi/drivers/addi-data/hwdrv_apci1500.h	2007-08-28 20:02:46.000000000 +0200
_at__at_ -143,7 +143,7 _at__at_
 static int i_APCI1500_ReadInterruptMask(comedi_device *dev,comedi_subdevice *s,comedi_insn *insn,lsampl_t *data); 
 
 /*----------INTERRUPT HANDLER------*/
-static void v_APCI1500_Interrupt(int irq, void *d, struct pt_regs *regs);
+static void v_APCI1500_Interrupt(int irq, void *d);
 static int i_APCI1500_ConfigureInterrupt(comedi_device *dev,comedi_subdevice *s,comedi_insn *insn,lsampl_t *data);
 /*----------RESET---------------*/
 static int i_APCI1500_Reset(comedi_device *dev) ; 
diff -urN comedi-cvs-clean/comedi/drivers/addi-data/hwdrv_apci1564.c comedi-cvs-20070829/comedi/drivers/addi-data/hwdrv_apci1564.c
--- comedi-cvs-clean/comedi/drivers/addi-data/hwdrv_apci1564.c	2005-10-07 07:06:34.000000000 +0200
+++ comedi-cvs-20070829/comedi/drivers/addi-data/hwdrv_apci1564.c	2007-08-28 20:05:05.000000000 +0200
_at__at_ -791,13 +791,12 _at__at_
 /*
 +----------------------------------------------------------------------------+
 | Function   Name   : static void v_APCI1564_Interrupt					     |
-|					  (int irq , void *d, struct pt_regs *regs)      |
+|					  (int irq , void *d)      |
 +----------------------------------------------------------------------------+
 | Task              : Interrupt handler for the interruptible digital inputs |
 +----------------------------------------------------------------------------+
 | Input Parameters  : int irq                 : irq number                   |
 |                     void *d                 : void pointer                 |
-|                     struct pt_regs *regs    : structure pointer            |
 +----------------------------------------------------------------------------+
 | Output Parameters :	--													 |
 +----------------------------------------------------------------------------+
_at__at_ -806,7 +805,7 _at__at_
 |			                                                         |
 +----------------------------------------------------------------------------+
 */
-static VOID v_APCI1564_Interrupt(int irq,void* d, struct pt_regs *regs) 
+static VOID v_APCI1564_Interrupt(int irq,void* d) 
 {
    comedi_device *dev =d; 	
    UINT ui_DO, ui_DI;
diff -urN comedi-cvs-clean/comedi/drivers/addi-data/hwdrv_apci1564.h comedi-cvs-20070829/comedi/drivers/addi-data/hwdrv_apci1564.h
--- comedi-cvs-clean/comedi/drivers/addi-data/hwdrv_apci1564.h	2005-10-07 07:06:34.000000000 +0200
+++ comedi-cvs-20070829/comedi/drivers/addi-data/hwdrv_apci1564.h	2007-08-28 20:01:35.000000000 +0200
_at__at_ -110,7 +110,7 _at__at_
 int i_APCI1564_ReadTimerCounterWatchdog(comedi_device *dev,comedi_subdevice *s,comedi_insn *insn,lsampl_t *data);
 
 // INTERRUPT
-static VOID v_APCI1564_Interrupt(int irq, void *d, struct pt_regs *regs) ;
+static VOID v_APCI1564_Interrupt(int irq, void *d) ;
 
 // RESET
 INT i_APCI1564_Reset(comedi_device *dev);
diff -urN comedi-cvs-clean/comedi/drivers/addi-data/hwdrv_APCI1710.c comedi-cvs-20070829/comedi/drivers/addi-data/hwdrv_APCI1710.c
--- comedi-cvs-clean/comedi/drivers/addi-data/hwdrv_APCI1710.c	2005-10-07 07:06:34.000000000 +0200
+++ comedi-cvs-20070829/comedi/drivers/addi-data/hwdrv_APCI1710.c	2007-08-28 20:00:03.000000000 +0200
_at__at_ -196,7 +196,7 _at__at_
  
  
 int i_APCI1710_Reset(comedi_device *dev);
-VOID v_APCI1710_Interrupt(int irq, void *d, struct pt_regs *regs) ;
+VOID v_APCI1710_Interrupt(int irq, void *d) ;
 //for 1710
 
  int i_APCI1710_Reset(comedi_device *dev)
_at__at_ -252,7 +252,7 _at__at_
 	
 
 
-VOID v_APCI1710_Interrupt(int irq, void *d, struct pt_regs *regs)  
+VOID v_APCI1710_Interrupt(int irq, void *d)  
 {
 	comedi_device *dev = d;
 	BYTE   b_ModuleCpt       = 0;
diff -urN comedi-cvs-clean/comedi/drivers/addi-data/hwdrv_apci2016.h comedi-cvs-20070829/comedi/drivers/addi-data/hwdrv_apci2016.h
--- comedi-cvs-clean/comedi/drivers/addi-data/hwdrv_apci2016.h	2005-10-07 07:06:34.000000000 +0200
+++ comedi-cvs-20070829/comedi/drivers/addi-data/hwdrv_apci2016.h	2007-08-28 20:02:35.000000000 +0200
_at__at_ -69,8 +69,8 _at__at_
 
 // Interrupt functions.....
 
-// VOID v_APCI2016_Interrupt(int irq, void *d, struct pt_regs *regs) ;
+// VOID v_APCI2016_Interrupt(int irq, void *d) ;
 
- //VOID v_APCI2016_Interrupt(int irq, void *d, struct pt_regs *regs);
+ //VOID v_APCI2016_Interrupt(int irq, void *d);
 // RESET
 INT i_APCI2016_Reset(comedi_device *dev);
diff -urN comedi-cvs-clean/comedi/drivers/addi-data/hwdrv_apci2032.c comedi-cvs-20070829/comedi/drivers/addi-data/hwdrv_apci2032.c
--- comedi-cvs-clean/comedi/drivers/addi-data/hwdrv_apci2032.c	2005-10-07 07:06:34.000000000 +0200
+++ comedi-cvs-20070829/comedi/drivers/addi-data/hwdrv_apci2032.c	2007-08-28 19:59:43.000000000 +0200
_at__at_ -466,13 +466,12 _at__at_
 /*
 +----------------------------------------------------------------------------+
 | Function   Name   :  void v_APCI2032_Interrupt					         |
-|					  (int irq , void *d, struct pt_regs *regs)      |
+|					  (int irq , void *d)      |
 +----------------------------------------------------------------------------+
 | Task              : Writes port value  To the selected port                |
 +----------------------------------------------------------------------------+
 | Input Parameters  : int irq                 : irq number                   |
 |                     void *d                 : void pointer                 |
-|                     struct pt_regs *regs    : structure pointer            |
 +----------------------------------------------------------------------------+
 | Output Parameters :	--													 |
 +----------------------------------------------------------------------------+
_at__at_ -481,7 +480,7 _at__at_
 |			                                                         |
 +----------------------------------------------------------------------------+
 */
- void v_APCI2032_Interrupt(int irq, void *d, struct pt_regs *regs) 
+ void v_APCI2032_Interrupt(int irq, void *d) 
 { 
 	comedi_device *dev = d;
         unsigned int ui_DO;
diff -urN comedi-cvs-clean/comedi/drivers/addi-data/hwdrv_apci2032.h comedi-cvs-20070829/comedi/drivers/addi-data/hwdrv_apci2032.h
--- comedi-cvs-clean/comedi/drivers/addi-data/hwdrv_apci2032.h	2005-10-07 07:06:34.000000000 +0200
+++ comedi-cvs-20070829/comedi/drivers/addi-data/hwdrv_apci2032.h	2007-08-28 20:02:18.000000000 +0200
_at__at_ -79,7 +79,7 _at__at_
  
 // Interrupt functions.....
 
-void v_APCI2032_Interrupt(int irq, void *d, struct pt_regs *regs) ;
+void v_APCI2032_Interrupt(int irq, void *d) ;
 
 //Reset functions
  int i_APCI2032_Reset(comedi_device *dev);	
diff -urN comedi-cvs-clean/comedi/drivers/addi-data/hwdrv_apci3120.c comedi-cvs-20070829/comedi/drivers/addi-data/hwdrv_apci3120.c
--- comedi-cvs-clean/comedi/drivers/addi-data/hwdrv_apci3120.c	2005-10-06 19:42:06.000000000 +0200
+++ comedi-cvs-20070829/comedi/drivers/addi-data/hwdrv_apci3120.c	2007-08-28 20:06:40.000000000 +0200
_at__at_ -1373,8 +1373,7 _at__at_
 
 /*
 +----------------------------------------------------------------------------+
-| Function name     : void v_APCI3120_Interrupt(int irq, void *d,            | 
-|			  struct pt_regs *regs) 								 |
+| Function name     : void v_APCI3120_Interrupt(int irq, void *d) 								 |
 |                                        									 |
 |                                            						         |
 +----------------------------------------------------------------------------+
_at__at_ -1386,7 +1385,6 _at__at_
 +----------------------------------------------------------------------------+
 | Input Parameters  : 	int irq 											 |
 |                        void *d											 |
-|                     	struct pt_regs *regs								 |
 |                                                 					         |
 +----------------------------------------------------------------------------+
 | Return Value      : void         					                         |
_at__at_ -1395,7 +1393,7 _at__at_
 */
 
 
- void v_APCI3120_Interrupt(int irq, void *d, struct pt_regs *regs) 
+ void v_APCI3120_Interrupt(int irq, void *d) 
 {	
 	comedi_device *dev = d;
         USHORT int_daq;
_at__at_ -1524,7 +1522,7 _at__at_
                         
 			//UPDATE-0.7.57->0.7.68comedi_done(dev,s); 
 			s->async->events |= COMEDI_CB_EOA;
-			comedi_event(dev,s,s->async->events);			
+			comedi_event(dev,s);			
 			
 		        break;	
 				  
_at__at_ -1574,7 +1572,7 _at__at_
 	   		/* Clears the timer status register */
 	   		/************************************/
 	   		inw(dev->iobase+APCI3120_TIMER_STATUS_REGISTER);             
-			v_APCI3120_InterruptDma(irq,d,regs); // do some data transfer
+			v_APCI3120_InterruptDma(irq,d); // do some data transfer
 		}
                 else
                 {
_at__at_ -1650,7 +1648,7 _at__at_
 	if (err==0)
 	   s->async->events |= COMEDI_CB_OVERFLOW;
 	
-        comedi_event(dev,s,s->async->events);	
+        comedi_event(dev,s);	
          
  	return 0;
 }
_at__at_ -1659,8 +1657,7 _at__at_
 
 /*
 +----------------------------------------------------------------------------+
-| Function name     : void v_APCI3120_InterruptDma(int irq, void *d,         |
-|			 struct pt_regs *regs) 									 |
+| Function name     : void v_APCI3120_InterruptDma(int irq, void *d) 									 |
 |                                        									 |
 +----------------------------------------------------------------------------+
 | Task              : This is a handler for the DMA interrupt                |
_at__at_ -1669,7 +1666,7 _at__at_
 |			  For single mode DMA it stop the acquisition.           |
 |													     			 |
 +----------------------------------------------------------------------------+
-| Input Parameters  : int irq, void *d, struct pt_regs *regs				 |
+| Input Parameters  : int irq, void *d				 |
 |                     														 |
 +----------------------------------------------------------------------------+
 | Return Value      :  void        					                         |
_at__at_ -1677,7 +1674,7 _at__at_
 +----------------------------------------------------------------------------+
 */
 
- void v_APCI3120_InterruptDma(int irq, void *d, struct pt_regs *regs) 
+ void v_APCI3120_InterruptDma(int irq, void *d) 
 {
     	comedi_device *dev = d;
 	comedi_subdevice *s = dev->subdevices + 0;	
_at__at_ -1793,7 +1790,7 _at__at_
 		if (!(devpriv->ui_AiFlags & TRIG_WAKE_EOS)) 
 		{
 			s->async->events |= COMEDI_CB_EOS;
-			comedi_event(dev,s,s->async->events);
+			comedi_event(dev,s);
                 }
 	}
 	if (!devpriv->b_AiContinuous)
_at__at_ -1803,7 +1800,7 _at__at_
 	    i_APCI3120_StopCyclicAcquisition(dev,s);
             devpriv->b_AiCyclicAcquisition=APCI3120_DISABLE;
 	    s->async->events |= COMEDI_CB_EOA;
-	    comedi_event(dev,s,s->async->events);			
+	    comedi_event(dev,s);			
             return;
 	}
 	
diff -urN comedi-cvs-clean/comedi/drivers/addi-data/hwdrv_apci3120.h comedi-cvs-20070829/comedi/drivers/addi-data/hwdrv_apci3120.h
--- comedi-cvs-clean/comedi/drivers/addi-data/hwdrv_apci3120.h	2005-10-06 19:42:06.000000000 +0200
+++ comedi-cvs-20070829/comedi/drivers/addi-data/hwdrv_apci3120.h	2007-08-28 20:01:51.000000000 +0200
_at__at_ -238,11 +238,11 _at__at_
 int i_APCI3120_Reset(comedi_device *dev);
 int i_APCI3120_CyclicAnalogInput(int mode, comedi_device * dev,comedi_subdevice * s);
 // Interrupt functions
-void v_APCI3120_Interrupt(int irq, void *d, struct pt_regs *regs) ;
+void v_APCI3120_Interrupt(int irq, void *d) ;
 //UPDATE-0.7.57->0.7.68	void v_APCI3120_InterruptDmaMoveBlock16bit(comedi_device *dev,comedi_subdevice *s,sampl_t *dma,sampl_t *data,int n);
 void v_APCI3120_InterruptDmaMoveBlock16bit(comedi_device *dev,comedi_subdevice *s,sampl_t *dma_buffer,unsigned int num_samples);
 int i_APCI3120_InterruptHandleEos(comedi_device *dev);
-void v_APCI3120_InterruptDma(int irq, void *d, struct pt_regs *regs) ;
+void v_APCI3120_InterruptDma(int irq, void *d) ;
 
 
 
diff -urN comedi-cvs-clean/comedi/drivers/addi-data/hwdrv_apci3200.c comedi-cvs-20070829/comedi/drivers/addi-data/hwdrv_apci3200.c
--- comedi-cvs-clean/comedi/drivers/addi-data/hwdrv_apci3200.c	2005-10-07 07:06:34.000000000 +0200
+++ comedi-cvs-20070829/comedi/drivers/addi-data/hwdrv_apci3200.c	2007-08-28 20:09:46.000000000 +0200
_at__at_ -2336,7 +2336,7 _at__at_
 INT i_APCI3200_InsnBits_AnalogInput_Test(comedi_device *dev,comedi_subdevice *s,comedi_insn *insn,lsampl_t *data) 
 {
   UINT 	ui_Configuration=0;
-  //INT i_Temp,i_TimeUnit;
+  INT i_Temp;//,i_TimeUnit;
   //if(i_Initialised==0)
   
   if(s_BoardInfos [dev->minor].i_Initialised==0)  
_at__at_ -2960,13 +2960,12 _at__at_
 /*
   +----------------------------------------------------------------------------+
   | Function   Name   : static void v_APCI3200_Interrupt					     |
-  |					  (int irq , void *d, struct pt_regs *regs)				 |
+  |					  (int irq , void *d)				 |
   +----------------------------------------------------------------------------+
   | Task              : Interrupt processing Routine                           |
   +----------------------------------------------------------------------------+
   | Input Parameters  : int irq                 : irq number                   |
   |                     void *d                 : void pointer                 |
-  |                     struct pt_regs *regs    : structure pointer            |
   +----------------------------------------------------------------------------+
   | Output Parameters :	--													 |
   +----------------------------------------------------------------------------+
_at__at_ -2975,7 +2974,7 _at__at_
   |					                                                         |
   +----------------------------------------------------------------------------+
 */
-void v_APCI3200_Interrupt(int irq, void *d, struct pt_regs *regs) 
+void v_APCI3200_Interrupt(int irq, void *d) 
 {	
   comedi_device *dev = d;
   UINT ui_StatusRegister=0;
_at__at_ -3445,7 +3444,7 _at__at_
 	  comedi_buf_write_free(s->async, (7+12)*sizeof(lsampl_t));  	
 
 	  // Send events
-	  comedi_event(dev,s,s->async->events);	   	  
+	  comedi_event(dev,s);	   	  
 	  //End JK 18.10.2004: APCI-3200 Driver update 0.7.57 -> 0.7.68
 
 	  //BEGIN JK 18.10.2004: APCI-3200 Driver update 0.7.57 -> 0.7.68 	  
diff -urN comedi-cvs-clean/comedi/drivers/addi-data/hwdrv_apci3200.h comedi-cvs-20070829/comedi/drivers/addi-data/hwdrv_apci3200.h
--- comedi-cvs-clean/comedi/drivers/addi-data/hwdrv_apci3200.h	2005-10-07 07:06:34.000000000 +0200
+++ comedi-cvs-20070829/comedi/drivers/addi-data/hwdrv_apci3200.h	2007-08-28 20:11:21.000000000 +0200
_at__at_ -101,10 +101,6 _at__at_
 #define ADDIDATA_UNIPOLAR                        1
 #define ADDIDATA_BIPOLAR                         2
 
-//ADDIDATA Enable Disable
-#define ADDIDATA_ENABLE                            1
-#define ADDIDATA_DISABLE                           0
-
 //BEGIN JK 21.10.2004: APCI-3200 / APCI-3300 Reading of EEPROM values
 #define MAX_MODULE				4
 //END JK 21.10.2004: APCI-3200 / APCI-3300 Reading of EEPROM values
_at__at_ -184,7 +180,7 _at__at_
 INT i_APCI3200_CommandAnalogInput(comedi_device *dev,comedi_subdevice *s);
 INT i_APCI3200_ReadDigitalInput(comedi_device *dev,comedi_subdevice *s,comedi_insn *insn,lsampl_t *data);
 //Interrupt
-void v_APCI3200_Interrupt(int irq, void *d, struct pt_regs *regs) ;
+void v_APCI3200_Interrupt(int irq, void *d) ;
 int i_APCI3200_InterruptHandleEos(comedi_device *dev);
 //Reset functions
 INT i_APCI3200_Reset(comedi_device *dev);	
diff -urN comedi-cvs-clean/comedi/drivers/addi-data/hwdrv_apci3501.c comedi-cvs-20070829/comedi/drivers/addi-data/hwdrv_apci3501.c
--- comedi-cvs-clean/comedi/drivers/addi-data/hwdrv_apci3501.c	2005-10-07 07:06:34.000000000 +0200
+++ comedi-cvs-20070829/comedi/drivers/addi-data/hwdrv_apci3501.c	2007-08-28 19:57:24.000000000 +0200
_at__at_ -679,13 +679,12 _at__at_
 /*
 +----------------------------------------------------------------------------+
 | Function   Name   : static void v_APCI3501_Interrupt					     |
-|					  (int irq , void *d, struct pt_regs *regs)      |
+|					  (int irq , void *d)      |
 +----------------------------------------------------------------------------+
 | Task              : Interrupt processing Routine                           |
 +----------------------------------------------------------------------------+
 | Input Parameters  : int irq                 : irq number                   |
 |                     void *d                 : void pointer                 |
-|                     struct pt_regs *regs    : structure pointer            |
 +----------------------------------------------------------------------------+
 | Output Parameters :	--													 |
 +----------------------------------------------------------------------------+
_at__at_ -694,7 +693,7 _at__at_
 |			                                                         |
 +----------------------------------------------------------------------------+
 */
- void v_APCI3501_Interrupt(int irq, void *d, struct pt_regs *regs) 
+ void v_APCI3501_Interrupt(int irq, void *d) 
 {
     int i_temp;	
     comedi_device *dev = d;
diff -urN comedi-cvs-clean/comedi/drivers/addi-data/hwdrv_apci3501.h comedi-cvs-20070829/comedi/drivers/addi-data/hwdrv_apci3501.h
--- comedi-cvs-clean/comedi/drivers/addi-data/hwdrv_apci3501.h	2005-10-06 19:42:06.000000000 +0200
+++ comedi-cvs-20070829/comedi/drivers/addi-data/hwdrv_apci3501.h	2007-08-28 20:02:00.000000000 +0200
_at__at_ -82,7 +82,7 _at__at_
 int i_APCI3501_StartStopWriteTimerCounterWatchdog(comedi_device *dev,comedi_subdevice *s,comedi_insn *insn,lsampl_t *data);
 int i_APCI3501_ReadTimerCounterWatchdog(comedi_device *dev,comedi_subdevice *s,comedi_insn *insn,lsampl_t *data);
 //Interrupt
-void v_APCI3501_Interrupt(int irq, void *d, struct pt_regs *regs) ;
+void v_APCI3501_Interrupt(int irq, void *d) ;
 
 //Reset functions
  int i_APCI3501_Reset(comedi_device *dev);	
diff -urN comedi-cvs-clean/comedi/drivers/addi-data/hwdrv_apci3xxx.c comedi-cvs-20070829/comedi/drivers/addi-data/hwdrv_apci3xxx.c
--- comedi-cvs-clean/comedi/drivers/addi-data/hwdrv_apci3xxx.c	2005-10-06 19:42:06.000000000 +0200
+++ comedi-cvs-20070829/comedi/drivers/addi-data/hwdrv_apci3xxx.c	2007-08-28 21:12:00.000000000 +0200
_at__at_ -579,7 +579,7 _at__at_
 	   printk("Operating mode not configured\n");
 	   i_ReturnValue = -1;
 	   }
-	
+	printk("%x\n", i_ReturnValue);
 	return (i_ReturnValue);
 	}
 
_at__at_ -588,8 +588,7 _at__at_
 /*
 +----------------------------------------------------------------------------+
 | Function name     : void v_APCI3XXX_Interrupt (int            irq,         |
-|                                                void           *d,          | 
-|                                                struct pt_regs *regs)       |
+|                                                void           *d)       |
 +----------------------------------------------------------------------------+
 | Task              :Interrupt handler for APCI3XXX                          |
 |                    When interrupt occurs this gets called.                 |
_at__at_ -603,7 +602,7 _at__at_
 */
 
 
-void	v_APCI3XXX_Interrupt(int irq, void *d, struct pt_regs *regs) 
+void	v_APCI3XXX_Interrupt(int irq, void *d) 
 	{
 	comedi_device *dev       = d;
 	BYTE           b_CopyCpt = 0;
diff -urN comedi-cvs-clean/comedi/drivers/Kbuild comedi-cvs-20070829/comedi/drivers/Kbuild
--- comedi-cvs-clean/comedi/drivers/Kbuild	2007-07-31 16:08:15.000000000 +0200
+++ comedi-cvs-20070829/comedi/drivers/Kbuild	2007-08-28 20:23:06.000000000 +0200
_at__at_ -23,6 +23,23 _at__at_
 obj-m += mite.o
 obj-m += ni_labpc.o
 obj-m += acl7225b.o
+obj-m += addi_apci_035.o
+obj-m += addi_apci_1032.o
+obj-m += addi_apci_1500.o
+obj-m += addi_apci_1516.o
+obj-m += addi_apci_1564.o
+obj-m += addi_apci_16xx.o
+#obj-m += addi_apci_1710.o
+obj-m += addi_apci_2016.o
+obj-m += addi_apci_2032.o
+obj-m += addi_apci_2200.o
+obj-m += addi_apci_3001.o
+obj-m += addi_apci_3120.o
+#obj-m += addi_apci_3200.o
+#obj-m += addi_apci_3300.o
+obj-m += addi_apci_3501.o
+obj-m += addi_apci_3xxx.o
+#obj-m += addi_apci_all.o
 obj-m += adl_pci6208.o
 obj-m += adl_pci7296.o
 obj-m += adl_pci7432.o
diff -urN comedi-cvs-clean/comedi/drivers/Makefile.am comedi-cvs-20070829/comedi/drivers/Makefile.am
--- comedi-cvs-clean/comedi/drivers/Makefile.am	2007-07-31 16:08:15.000000000 +0200
+++ comedi-cvs-20070829/comedi/drivers/Makefile.am	2007-08-28 19:38:31.000000000 +0200
_at__at_ -93,6 +93,23 _at__at_
  mite.ko \
  ni_labpc.ko \
  acl7225b.ko \
+ addi_apci_035.ko \
+ addi_apci_1032.ko \
+ addi_apci_1500.ko \
+ addi_apci_1516.ko \
+ addi_apci_1564.ko \
+ addi_apci_16xx.ko \
+ addi_apci_1710.ko \
+ addi_apci_2016.ko \
+ addi_apci_2032.ko \
+ addi_apci_2200.ko \
+ addi_apci_3001.ko \
+ addi_apci_3120.ko \
+ addi_apci_3200.ko \
+ addi_apci_3300.ko \
+ addi_apci_3501.ko \
+ addi_apci_3xxx.ko \
+ addi_apci_all.ko \
  adl_pci6208.ko \
  adl_pci7296.ko \
  adl_pci7432.ko \
_at__at_ -185,6 +202,23 _at__at_
 
 8255_ko_SOURCES = 8255.c
 acl7225b_ko_SOURCES = acl7225b.c
+addi_apci_all_ko_SOURCES = addi_apci_all.c
+addi_apci_035_ko_SOURCES = addi_apci_035.c
+addi_apci_1032_ko_SOURCES = addi_apci_1032.c
+addi_apci_1500_ko_SOURCES = addi_apci_1500.c
+addi_apci_1516_ko_SOURCES = addi_apci_1516.c
+addi_apci_1564_ko_SOURCES = addi_apci_1564.c
+addi_apci_16xx_ko_SOURCES = addi_apci_16xx.c
+addi_apci_1710_ko_SOURCES = addi_apci_1710.c
+addi_apci_2016_ko_SOURCES = addi_apci_2016.c
+addi_apci_2032_ko_SOURCES = addi_apci_2032.c
+addi_apci_2200_ko_SOURCES = addi_apci_2200.c
+addi_apci_3001_ko_SOURCES = addi_apci_3001.c
+addi_apci_3120_ko_SOURCES = addi_apci_3120.c
+addi_apci_3200_ko_SOURCES = addi_apci_3200.c
+addi_apci_3300_ko_SOURCES = addi_apci_3300.c
+addi_apci_3501_ko_SOURCES = addi_apci_3501.c
+addi_apci_3xxx_ko_SOURCES = addi_apci_3xxx.c
 adl_pci6208_ko_SOURCES = adl_pci6208.c
 adl_pci7296_ko_SOURCES = adl_pci7296.c
 adl_pci7432_ko_SOURCES = adl_pci7432.c

Received on 2007-08-29Z09:09:09