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
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 \
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
}
#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,
NULL,
NULL
},
-
+#endif
+#ifdef CONFIG_APCI_1032
{"apci1032",
APCI1032_BOARD_VENDOR_ID,
0x1003,
NULL,
NULL
},
-
+#endif
+#ifdef CONFIG_APCI_1516
{"apci1516",
APCI1516_BOARD_VENDOR_ID,
0x1001,
NULL,
NULL
},
-
+#endif
+#ifdef CONFIG_APCI_2016
{"apci2016",
APCI2016_BOARD_VENDOR_ID,
0x1002,
NULL,
NULL
},
-
+#endif
+#ifdef CONFIG_APCI_2032
{"apci2032",
APCI2032_BOARD_VENDOR_ID,
0x1004,
NULL,
NULL
},
-
+#endif
+#ifdef CONFIG_APCI_2200
{"apci2200",
APCI2200_BOARD_VENDOR_ID,
0x1005,
NULL,
NULL
},
-
+#endif
+#ifdef CONFIG_APCI_1564
{"apci1564",
APCI1564_BOARD_VENDOR_ID,
0x1006,
NULL,
NULL
},
-
+#endif
+#ifdef CONFIG_APCI_1500
{"apci1500",
APCI1500_BOARD_VENDOR_ID,
0x80fc,
NULL,
NULL
},
-
-
+#endif
+#ifdef CONFIG_APCI_3001
{"apci3001",
APCI3120_BOARD_VENDOR_ID,
0x828D,
NULL,
NULL
},
-
+#endif
+#ifdef CONFIG_APCI_3501
{"apci3501",
APCI3501_BOARD_VENDOR_ID,
0x3001,
NULL,
NULL
},
-
+#endif
+#ifdef CONFIG_APCI_035
{"apci035",
APCI035_BOARD_VENDOR_ID,
0x0300,
NULL,
NULL
},
-
+#endif
+#ifdef CONFIG_APCI_3200
{"apci3200",
APCI3200_BOARD_VENDOR_ID,
0x3000,
NULL,
NULL
},
-
+#endif
+#ifdef CONFIG_APCI_3300
//Begin JK 20.10.2004: APCI-3300 integration
{"apci3300",
APCI3200_BOARD_VENDOR_ID,
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,
NULL,
NULL
},
-
+#endif
+#ifdef CONFIG_APCI_16XX
{"apci1648",
0x15B8,
0x1009,
i_APCI16XX_InsnReadTTLIOAllPortValue,
i_APCI16XX_InsnBitsWriteTTLIO
},
-
+#endif
+#ifdef CONFIG_APCI_3XXX
{"apci3000-16",
0x15B8,
0x3010,
NULL,
4,
4,
- 0xF,
+ 1,
24,
&range_apci3XXX_ttl,
0,
NULL,
4,
4,
- 0xF,
+ 1,
24,
&range_apci3XXX_ttl,
0,
NULL,
4,
4,
- 0xF,
+ 1,
24,
&range_apci3XXX_ttl,
0,
NULL,
4,
4,
- 0xF,
+ 1,
24,
&range_apci3XXX_ttl,
0,
NULL,
4,
4,
- 0xF,
+ 1,
24,
&range_apci3XXX_ttl,
0,
NULL,
4,
4,
- 0xF,
+ 1,
24,
&range_apci3XXX_ttl,
0,
4095,
&range_apci3XXX_ai,
&range_apci3XXX_ao,
- 4,
- 4,
- 0xF,
+ 0,
+ 0,
+ 0,
24,
&range_apci3XXX_ttl,
0,
4095,
&range_apci3XXX_ai,
&range_apci3XXX_ao,
- 4,
- 4,
- 0xF,
+ 0,
+ 0,
+ 0,
24,
&range_apci3XXX_ttl,
0,
4095,
&range_apci3XXX_ai,
&range_apci3XXX_ao,
- 4,
- 4,
- 0xF,
+ 0,
+ 0,
+ 0,
24,
&range_apci3XXX_ttl,
0,
4095,
&range_apci3XXX_ai,
&range_apci3XXX_ao,
- 4,
- 4,
- 0xF,
+ 0,
+ 0,
+ 0,
24,
&range_apci3XXX_ttl,
0,
&range_apci3XXX_ao,
4,
4,
- 0xF,
+ 1,
24,
&range_apci3XXX_ttl,
0,
&range_apci3XXX_ao,
4,
4,
- 0xF,
+ 1,
24,
&range_apci3XXX_ttl,
0,
&range_apci3XXX_ao,
4,
4,
- 0xF,
+ 1,
24,
&range_apci3XXX_ttl,
0,
&range_apci3XXX_ao,
4,
4,
- 0xF,
+ 1,
24,
&range_apci3XXX_ttl,
0,
NULL,
4,
4,
- 0xF,
+ 1,
0,
NULL,
0,
NULL,
4,
4,
- 0xF,
+ 1,
0,
NULL,
0,
NULL,
4,
4,
- 0xF,
+ 1,
0,
NULL,
0,
NULL,
4,
4,
- 0xF,
+ 1,
0,
NULL,
0,
i_APCI3XXX_InsnReadTTLIO,
i_APCI3XXX_InsnWriteTTLIO
},
+#endif
};
#define n_boardtypes (sizeof(boardtypes)/sizeof(boardtype))
attach: i_ADDI_Attach,
detach: i_ADDI_Detach,
num_names: n_boardtypes,
- board_name: boardtypes,
+ board_name: &boardtypes[0].pc_DriverName,
offset: sizeof(boardtype),
};
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
{
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;
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;
/*
+----------------------------------------------------------------------------+
| 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 |
+----------------------------------------------------------------------------+
*/
-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
#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;
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
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);
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)
-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;
/*
+----------------------------------------------------------------------------+
| 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 : -- |
+----------------------------------------------------------------------------+
| |
+----------------------------------------------------------------------------+
*/
-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;
//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);
/*
+----------------------------------------------------------------------------+
| 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 : -- |
+----------------------------------------------------------------------------+
| |
+----------------------------------------------------------------------------+
*/
-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;
// 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);
/*
+----------------------------------------------------------------------------+
| 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 : -- |
+----------------------------------------------------------------------------+
| |
+----------------------------------------------------------------------------+
*/
-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;
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) ;
/*
+----------------------------------------------------------------------------+
| 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 : -- |
+----------------------------------------------------------------------------+
| |
+----------------------------------------------------------------------------+
*/
-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;
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);
// 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);
/*
+----------------------------------------------------------------------------+
| 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 : -- |
+----------------------------------------------------------------------------+
| |
+----------------------------------------------------------------------------+
*/
- 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;
// 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);
/*
+----------------------------------------------------------------------------+
-| Function name : void v_APCI3120_Interrupt(int irq, void *d, |
-| struct pt_regs *regs) |
+| Function name : void v_APCI3120_Interrupt(int irq, void *d) |
| |
| |
+----------------------------------------------------------------------------+
+----------------------------------------------------------------------------+
| Input Parameters : int irq |
| void *d |
-| struct pt_regs *regs |
| |
+----------------------------------------------------------------------------+
| Return Value : void |
*/
- 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;
//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;
/* 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
{
if (err==0)
s->async->events |= COMEDI_CB_OVERFLOW;
- comedi_event(dev,s,s->async->events);
+ comedi_event(dev,s);
return 0;
}
/*
+----------------------------------------------------------------------------+
-| 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 |
| 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 |
+----------------------------------------------------------------------------+
*/
- 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;
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)
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;
}
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) ;
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)
/*
+----------------------------------------------------------------------------+
| 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 : -- |
+----------------------------------------------------------------------------+
| |
+----------------------------------------------------------------------------+
*/
-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;
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
#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
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);
/*
+----------------------------------------------------------------------------+
| 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 : -- |
+----------------------------------------------------------------------------+
| |
+----------------------------------------------------------------------------+
*/
- 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;
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);
printk("Operating mode not configured\n");
i_ReturnValue = -1;
}
-
+ printk("%x\n", i_ReturnValue);
return (i_ReturnValue);
}
/*
+----------------------------------------------------------------------------+
| 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. |
*/
-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;