Staging: comedi: remove C99 comments in hwdrv_apci1564.c
Signed-off-by: Bill Pemberton <wfp5p@virginia.edu> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
This commit is contained in:
Родитель
0110c4432a
Коммит
b58d9b17db
|
@ -55,7 +55,7 @@ You shoud also find the complete GPL in the COPYING file accompanying this sourc
|
|||
#include <linux/delay.h>
|
||||
#include "hwdrv_apci1564.h"
|
||||
|
||||
//Global variables
|
||||
/* Global variables */
|
||||
unsigned int ui_InterruptStatus_1564 = 0;
|
||||
unsigned int ui_InterruptData, ui_Type;
|
||||
|
||||
|
@ -106,13 +106,13 @@ int i_APCI1564_ConfigDigitalInput(struct comedi_device * dev, struct comedi_subd
|
|||
outl(0x4,
|
||||
devpriv->i_IobaseAmcc + APCI1564_DIGITAL_IP +
|
||||
APCI1564_DIGITAL_IP_IRQ);
|
||||
} // if (data[1] == ADDIDATA_OR)
|
||||
} /* if (data[1] == ADDIDATA_OR) */
|
||||
else {
|
||||
outl(0x6,
|
||||
devpriv->i_IobaseAmcc + APCI1564_DIGITAL_IP +
|
||||
APCI1564_DIGITAL_IP_IRQ);
|
||||
} // else if (data[1] == ADDIDATA_OR)
|
||||
} // if (data[0] == ADDIDATA_ENABLE)
|
||||
} /* else if (data[1] == ADDIDATA_OR) */
|
||||
} /* if (data[0] == ADDIDATA_ENABLE) */
|
||||
else {
|
||||
outl(0x0,
|
||||
devpriv->i_IobaseAmcc + APCI1564_DIGITAL_IP +
|
||||
|
@ -123,7 +123,7 @@ int i_APCI1564_ConfigDigitalInput(struct comedi_device * dev, struct comedi_subd
|
|||
outl(0x0,
|
||||
devpriv->i_IobaseAmcc + APCI1564_DIGITAL_IP +
|
||||
APCI1564_DIGITAL_IP_IRQ);
|
||||
} // else if (data[0] == ADDIDATA_ENABLE)
|
||||
} /* else if (data[0] == ADDIDATA_ENABLE) */
|
||||
|
||||
return insn->n;
|
||||
}
|
||||
|
@ -157,14 +157,16 @@ int i_APCI1564_Read1DigitalInput(struct comedi_device * dev, struct comedi_subde
|
|||
if (ui_Channel >= 0 && ui_Channel <= 31) {
|
||||
ui_TmpValue =
|
||||
(unsigned int) inl(devpriv->i_IobaseAmcc + APCI1564_DIGITAL_IP);
|
||||
// since only 1 channel reqd to bring it to last bit it is rotated
|
||||
// 8 +(chan - 1) times then ANDed with 1 for last bit.
|
||||
/*
|
||||
* since only 1 channel reqd to bring it to last bit it is rotated 8
|
||||
* +(chan - 1) times then ANDed with 1 for last bit.
|
||||
*/
|
||||
*data = (ui_TmpValue >> ui_Channel) & 0x1;
|
||||
} // if (ui_Channel >= 0 && ui_Channel <=31)
|
||||
} /* if (ui_Channel >= 0 && ui_Channel <=31) */
|
||||
else {
|
||||
comedi_error(dev, "Not a valid channel number !!! \n");
|
||||
return -EINVAL; // "sorry channel spec wrong "
|
||||
} //else if (ui_Channel >= 0 && ui_Channel <=31)
|
||||
return -EINVAL; /* "sorry channel spec wrong " */
|
||||
} /* else if (ui_Channel >= 0 && ui_Channel <=31) */
|
||||
return insn->n;
|
||||
}
|
||||
|
||||
|
@ -218,15 +220,15 @@ int i_APCI1564_ReadMoreDigitalInput(struct comedi_device * dev, struct comedi_su
|
|||
break;
|
||||
default:
|
||||
comedi_error(dev, "Not a valid Channel number !!!\n");
|
||||
return -EINVAL; // "sorry channel spec wrong "
|
||||
return -EINVAL; /* "sorry channel spec wrong " */
|
||||
break;
|
||||
} // switch (ui_NoOfChannels)
|
||||
} // if (data[1]==0)
|
||||
} /* switch (ui_NoOfChannels) */
|
||||
} /* if (data[1]==0) */
|
||||
else {
|
||||
if (data[1] == 1) {
|
||||
*data = ui_InterruptStatus_1564;
|
||||
} // if (data[1]==1)
|
||||
} // else if (data[1]==0)
|
||||
} /* if (data[1]==1) */
|
||||
} /* else if (data[1]==0) */
|
||||
return insn->n;
|
||||
}
|
||||
|
||||
|
@ -264,25 +266,25 @@ int i_APCI1564_ConfigDigitalOutput(struct comedi_device * dev, struct comedi_sub
|
|||
comedi_error(dev,
|
||||
"Not a valid Data !!! ,Data should be 1 or 0\n");
|
||||
return -EINVAL;
|
||||
} // if ((data[0]!=0) && (data[0]!=1))
|
||||
} /* if ((data[0]!=0) && (data[0]!=1)) */
|
||||
if (data[0]) {
|
||||
devpriv->b_OutputMemoryStatus = ADDIDATA_ENABLE;
|
||||
} // if (data[0])
|
||||
} /* if (data[0]) */
|
||||
else {
|
||||
devpriv->b_OutputMemoryStatus = ADDIDATA_DISABLE;
|
||||
} // else if (data[0])
|
||||
} /* else if (data[0]) */
|
||||
if (data[1] == ADDIDATA_ENABLE) {
|
||||
ul_Command = ul_Command | 0x1;
|
||||
} // if (data[1] == ADDIDATA_ENABLE)
|
||||
} /* if (data[1] == ADDIDATA_ENABLE) */
|
||||
else {
|
||||
ul_Command = ul_Command & 0xFFFFFFFE;
|
||||
} // else if (data[1] == ADDIDATA_ENABLE)
|
||||
} /* else if (data[1] == ADDIDATA_ENABLE) */
|
||||
if (data[2] == ADDIDATA_ENABLE) {
|
||||
ul_Command = ul_Command | 0x2;
|
||||
} // if (data[2] == ADDIDATA_ENABLE)
|
||||
} /* if (data[2] == ADDIDATA_ENABLE) */
|
||||
else {
|
||||
ul_Command = ul_Command & 0xFFFFFFFD;
|
||||
} // else if (data[2] == ADDIDATA_ENABLE)
|
||||
} /* else if (data[2] == ADDIDATA_ENABLE) */
|
||||
outl(ul_Command,
|
||||
devpriv->i_IobaseAmcc + APCI1564_DIGITAL_OP +
|
||||
APCI1564_DIGITAL_OP_INTERRUPT);
|
||||
|
@ -323,17 +325,17 @@ int i_APCI1564_WriteDigitalOutput(struct comedi_device * dev, struct comedi_subd
|
|||
ui_Temp =
|
||||
inl(devpriv->i_IobaseAmcc + APCI1564_DIGITAL_OP +
|
||||
APCI1564_DIGITAL_OP_RW);
|
||||
} // if (devpriv->b_OutputMemoryStatus )
|
||||
} /* if (devpriv->b_OutputMemoryStatus ) */
|
||||
else {
|
||||
ui_Temp = 0;
|
||||
} // else if (devpriv->b_OutputMemoryStatus )
|
||||
} /* else if (devpriv->b_OutputMemoryStatus ) */
|
||||
if (data[3] == 0) {
|
||||
if (data[1] == 0) {
|
||||
data[0] = (data[0] << ui_NoOfChannel) | ui_Temp;
|
||||
outl(data[0],
|
||||
devpriv->i_IobaseAmcc + APCI1564_DIGITAL_OP +
|
||||
APCI1564_DIGITAL_OP_RW);
|
||||
} // if (data[1]==0)
|
||||
} /* if (data[1]==0) */
|
||||
else {
|
||||
if (data[1] == 1) {
|
||||
switch (ui_NoOfChannel) {
|
||||
|
@ -362,18 +364,18 @@ int i_APCI1564_WriteDigitalOutput(struct comedi_device * dev, struct comedi_subd
|
|||
break;
|
||||
default:
|
||||
comedi_error(dev, " chan spec wrong");
|
||||
return -EINVAL; // "sorry channel spec wrong "
|
||||
} // switch (ui_NoOfChannels)
|
||||
return -EINVAL; /* "sorry channel spec wrong " */
|
||||
} /* switch (ui_NoOfChannels) */
|
||||
outl(data[0],
|
||||
devpriv->i_IobaseAmcc +
|
||||
APCI1564_DIGITAL_OP +
|
||||
APCI1564_DIGITAL_OP_RW);
|
||||
} // if (data[1]==1)
|
||||
} /* if (data[1]==1) */
|
||||
else {
|
||||
printk("\nSpecified channel not supported\n");
|
||||
} // else if (data[1]==1)
|
||||
} // else if (data[1]==0)
|
||||
} //if(data[3]==0)
|
||||
} /* else if (data[1]==1) */
|
||||
} /* else if (data[1]==0) */
|
||||
} /* if(data[3]==0) */
|
||||
else {
|
||||
if (data[3] == 1) {
|
||||
if (data[1] == 0) {
|
||||
|
@ -389,7 +391,7 @@ int i_APCI1564_WriteDigitalOutput(struct comedi_device * dev, struct comedi_subd
|
|||
devpriv->i_IobaseAmcc +
|
||||
APCI1564_DIGITAL_OP +
|
||||
APCI1564_DIGITAL_OP_RW);
|
||||
} // if (data[1]==0)
|
||||
} /* if (data[1]==0) */
|
||||
else {
|
||||
if (data[1] == 1) {
|
||||
switch (ui_NoOfChannel) {
|
||||
|
@ -447,23 +449,23 @@ int i_APCI1564_WriteDigitalOutput(struct comedi_device * dev, struct comedi_subd
|
|||
default:
|
||||
comedi_error(dev,
|
||||
" chan spec wrong");
|
||||
return -EINVAL; // "sorry channel spec wrong "
|
||||
} //switch(ui_NoOfChannels)
|
||||
return -EINVAL; /* "sorry channel spec wrong " */
|
||||
} /* switch(ui_NoOfChannels) */
|
||||
outl(data[0],
|
||||
devpriv->i_IobaseAmcc +
|
||||
APCI1564_DIGITAL_OP +
|
||||
APCI1564_DIGITAL_OP_RW);
|
||||
} // if (data[1]==1)
|
||||
} /* if (data[1]==1) */
|
||||
else {
|
||||
printk("\nSpecified channel not supported\n");
|
||||
} // else if (data[1]==1)
|
||||
} // else if (data[1]==0)
|
||||
} // if (data[3]==1);
|
||||
} /* else if (data[1]==1) */
|
||||
} /* else if (data[1]==0) */
|
||||
} /* if (data[3]==1); */
|
||||
else {
|
||||
printk("\nSpecified functionality does not exist\n");
|
||||
return -EINVAL;
|
||||
} // else if (data[3]==1)
|
||||
} // else if (data[3]==0)
|
||||
} /* else if (data[3]==1) */
|
||||
} /* else if (data[3]==0) */
|
||||
return insn->n;
|
||||
}
|
||||
|
||||
|
@ -498,7 +500,7 @@ int i_APCI1564_ReadDigitalOutput(struct comedi_device * dev, struct comedi_subde
|
|||
APCI1564_DIGITAL_OP_RW);
|
||||
if (ui_Temp == 0) {
|
||||
*data = (*data >> ui_NoOfChannel) & 0x1;
|
||||
} // if (ui_Temp==0)
|
||||
} /* if (ui_Temp==0) */
|
||||
else {
|
||||
if (ui_Temp == 1) {
|
||||
switch (ui_NoOfChannel) {
|
||||
|
@ -523,14 +525,14 @@ int i_APCI1564_ReadDigitalOutput(struct comedi_device * dev, struct comedi_subde
|
|||
|
||||
default:
|
||||
comedi_error(dev, " chan spec wrong");
|
||||
return -EINVAL; // "sorry channel spec wrong "
|
||||
return -EINVAL; /* "sorry channel spec wrong " */
|
||||
break;
|
||||
} // switch(ui_NoOfChannels)
|
||||
} // if (ui_Temp==1)
|
||||
} /* switch(ui_NoOfChannels) */
|
||||
} /* if (ui_Temp==1) */
|
||||
else {
|
||||
printk("\nSpecified channel not supported \n");
|
||||
} // else if (ui_Temp==1)
|
||||
} // else if (ui_Temp==0)
|
||||
} /* else if (ui_Temp==1) */
|
||||
} /* else if (ui_Temp==0) */
|
||||
return insn->n;
|
||||
}
|
||||
|
||||
|
@ -572,26 +574,26 @@ int i_APCI1564_ConfigTimerCounterWatchdog(struct comedi_device * dev,
|
|||
if (data[0] == ADDIDATA_WATCHDOG) {
|
||||
devpriv->b_TimerSelectMode = ADDIDATA_WATCHDOG;
|
||||
|
||||
//Disable the watchdog
|
||||
/* Disable the watchdog */
|
||||
outl(0x0,
|
||||
devpriv->i_IobaseAmcc + APCI1564_DIGITAL_OP_WATCHDOG +
|
||||
APCI1564_TCW_PROG);
|
||||
//Loading the Reload value
|
||||
/* Loading the Reload value */
|
||||
outl(data[3],
|
||||
devpriv->i_IobaseAmcc + APCI1564_DIGITAL_OP_WATCHDOG +
|
||||
APCI1564_TCW_RELOAD_VALUE);
|
||||
} // if (data[0]==ADDIDATA_WATCHDOG)
|
||||
} /* if (data[0]==ADDIDATA_WATCHDOG) */
|
||||
else if (data[0] == ADDIDATA_TIMER) {
|
||||
//First Stop The Timer
|
||||
/* First Stop The Timer */
|
||||
ul_Command1 =
|
||||
inl(devpriv->i_IobaseAmcc + APCI1564_TIMER +
|
||||
APCI1564_TCW_PROG);
|
||||
ul_Command1 = ul_Command1 & 0xFFFFF9FEUL;
|
||||
outl(ul_Command1, devpriv->i_IobaseAmcc + APCI1564_TIMER + APCI1564_TCW_PROG); //Stop The Timer
|
||||
outl(ul_Command1, devpriv->i_IobaseAmcc + APCI1564_TIMER + APCI1564_TCW_PROG); /* Stop The Timer */
|
||||
|
||||
devpriv->b_TimerSelectMode = ADDIDATA_TIMER;
|
||||
if (data[1] == 1) {
|
||||
outl(0x02, devpriv->i_IobaseAmcc + APCI1564_TIMER + APCI1564_TCW_PROG); //Enable TIMER int & DISABLE ALL THE OTHER int SOURCES
|
||||
outl(0x02, devpriv->i_IobaseAmcc + APCI1564_TIMER + APCI1564_TCW_PROG); /* Enable TIMER int & DISABLE ALL THE OTHER int SOURCES */
|
||||
outl(0x0,
|
||||
devpriv->i_IobaseAmcc + APCI1564_DIGITAL_IP +
|
||||
APCI1564_DIGITAL_IP_IRQ);
|
||||
|
@ -614,18 +616,18 @@ int i_APCI1564_ConfigTimerCounterWatchdog(struct comedi_device * dev,
|
|||
outl(0x0,
|
||||
devpriv->iobase + APCI1564_COUNTER4 +
|
||||
APCI1564_TCW_IRQ);
|
||||
} // if (data[1]==1)
|
||||
} /* if (data[1]==1) */
|
||||
else {
|
||||
outl(0x0, devpriv->i_IobaseAmcc + APCI1564_TIMER + APCI1564_TCW_PROG); //disable Timer interrupt
|
||||
} // else if (data[1]==1)
|
||||
outl(0x0, devpriv->i_IobaseAmcc + APCI1564_TIMER + APCI1564_TCW_PROG); /* disable Timer interrupt */
|
||||
} /* else if (data[1]==1) */
|
||||
|
||||
// Loading Timebase
|
||||
/* Loading Timebase */
|
||||
|
||||
outl(data[2],
|
||||
devpriv->i_IobaseAmcc + APCI1564_TIMER +
|
||||
APCI1564_TCW_TIMEBASE);
|
||||
|
||||
//Loading the Reload value
|
||||
/* Loading the Reload value */
|
||||
outl(data[3],
|
||||
devpriv->i_IobaseAmcc + APCI1564_TIMER +
|
||||
APCI1564_TCW_RELOAD_VALUE);
|
||||
|
@ -635,18 +637,18 @@ int i_APCI1564_ConfigTimerCounterWatchdog(struct comedi_device * dev,
|
|||
APCI1564_TCW_PROG);
|
||||
ul_Command1 =
|
||||
(ul_Command1 & 0xFFF719E2UL) | 2UL << 13UL | 0x10UL;
|
||||
outl(ul_Command1, devpriv->i_IobaseAmcc + APCI1564_TIMER + APCI1564_TCW_PROG); //mode 2
|
||||
} // else if (data[0]==ADDIDATA_TIMER)
|
||||
outl(ul_Command1, devpriv->i_IobaseAmcc + APCI1564_TIMER + APCI1564_TCW_PROG); /* mode 2 */
|
||||
} /* else if (data[0]==ADDIDATA_TIMER) */
|
||||
else if (data[0] == ADDIDATA_COUNTER) {
|
||||
devpriv->b_TimerSelectMode = ADDIDATA_COUNTER;
|
||||
devpriv->b_ModeSelectRegister = data[5];
|
||||
|
||||
//First Stop The Counter
|
||||
/* First Stop The Counter */
|
||||
ul_Command1 =
|
||||
inl(devpriv->iobase + ((data[5] - 1) * 0x20) +
|
||||
APCI1564_TCW_PROG);
|
||||
ul_Command1 = ul_Command1 & 0xFFFFF9FEUL;
|
||||
outl(ul_Command1, devpriv->iobase + ((data[5] - 1) * 0x20) + APCI1564_TCW_PROG); //Stop The Timer
|
||||
outl(ul_Command1, devpriv->iobase + ((data[5] - 1) * 0x20) + APCI1564_TCW_PROG); /* Stop The Timer */
|
||||
|
||||
/************************/
|
||||
/* Set the reload value */
|
||||
|
@ -671,7 +673,7 @@ int i_APCI1564_ConfigTimerCounterWatchdog(struct comedi_device * dev,
|
|||
devpriv->iobase + ((data[5] - 1) * 0x20) +
|
||||
APCI1564_TCW_PROG);
|
||||
|
||||
// Enable or Disable Interrupt
|
||||
/* Enable or Disable Interrupt */
|
||||
ul_Command1 = (ul_Command1 & 0xFFFFF9FD) | (data[1] << 1);
|
||||
outl(ul_Command1,
|
||||
devpriv->iobase + ((data[5] - 1) * 0x20) +
|
||||
|
@ -684,10 +686,10 @@ int i_APCI1564_ConfigTimerCounterWatchdog(struct comedi_device * dev,
|
|||
outl(ul_Command1,
|
||||
devpriv->iobase + ((data[5] - 1) * 0x20) +
|
||||
APCI1564_TCW_PROG);
|
||||
} // else if (data[0]==ADDIDATA_COUNTER)
|
||||
} /* else if (data[0]==ADDIDATA_COUNTER) */
|
||||
else {
|
||||
printk(" Invalid subdevice.");
|
||||
} // else if (data[0]==ADDIDATA_WATCHDOG)
|
||||
} /* else if (data[0]==ADDIDATA_WATCHDOG) */
|
||||
|
||||
return insn->n;
|
||||
}
|
||||
|
@ -724,16 +726,16 @@ int i_APCI1564_StartStopWriteTimerCounterWatchdog(struct comedi_device * dev,
|
|||
unsigned int ul_Command1 = 0;
|
||||
if (devpriv->b_TimerSelectMode == ADDIDATA_WATCHDOG) {
|
||||
switch (data[1]) {
|
||||
case 0: //stop the watchdog
|
||||
outl(0x0, devpriv->i_IobaseAmcc + APCI1564_DIGITAL_OP_WATCHDOG + APCI1564_TCW_PROG); //disable the watchdog
|
||||
case 0: /* stop the watchdog */
|
||||
outl(0x0, devpriv->i_IobaseAmcc + APCI1564_DIGITAL_OP_WATCHDOG + APCI1564_TCW_PROG); /* disable the watchdog */
|
||||
break;
|
||||
case 1: //start the watchdog
|
||||
case 1: /* start the watchdog */
|
||||
outl(0x0001,
|
||||
devpriv->i_IobaseAmcc +
|
||||
APCI1564_DIGITAL_OP_WATCHDOG +
|
||||
APCI1564_TCW_PROG);
|
||||
break;
|
||||
case 2: //Software trigger
|
||||
case 2: /* Software trigger */
|
||||
outl(0x0201,
|
||||
devpriv->i_IobaseAmcc +
|
||||
APCI1564_DIGITAL_OP_WATCHDOG +
|
||||
|
@ -742,8 +744,8 @@ int i_APCI1564_StartStopWriteTimerCounterWatchdog(struct comedi_device * dev,
|
|||
default:
|
||||
printk("\nSpecified functionality does not exist\n");
|
||||
return -EINVAL;
|
||||
} // switch (data[1])
|
||||
} // if (devpriv->b_TimerSelectMode==ADDIDATA_WATCHDOG)
|
||||
} /* switch (data[1]) */
|
||||
} /* if (devpriv->b_TimerSelectMode==ADDIDATA_WATCHDOG) */
|
||||
if (devpriv->b_TimerSelectMode == ADDIDATA_TIMER) {
|
||||
if (data[1] == 1) {
|
||||
ul_Command1 =
|
||||
|
@ -751,13 +753,13 @@ int i_APCI1564_StartStopWriteTimerCounterWatchdog(struct comedi_device * dev,
|
|||
APCI1564_TCW_PROG);
|
||||
ul_Command1 = (ul_Command1 & 0xFFFFF9FFUL) | 0x1UL;
|
||||
|
||||
//Enable the Timer
|
||||
/* Enable the Timer */
|
||||
outl(ul_Command1,
|
||||
devpriv->i_IobaseAmcc + APCI1564_TIMER +
|
||||
APCI1564_TCW_PROG);
|
||||
} // if (data[1]==1)
|
||||
} /* if (data[1]==1) */
|
||||
else if (data[1] == 0) {
|
||||
//Stop The Timer
|
||||
/* Stop The Timer */
|
||||
|
||||
ul_Command1 =
|
||||
inl(devpriv->i_IobaseAmcc + APCI1564_TIMER +
|
||||
|
@ -766,29 +768,29 @@ int i_APCI1564_StartStopWriteTimerCounterWatchdog(struct comedi_device * dev,
|
|||
outl(ul_Command1,
|
||||
devpriv->i_IobaseAmcc + APCI1564_TIMER +
|
||||
APCI1564_TCW_PROG);
|
||||
} // else if(data[1]==0)
|
||||
} // if (devpriv->b_TimerSelectMode==ADDIDATA_TIMER)
|
||||
} /* else if(data[1]==0) */
|
||||
} /* if (devpriv->b_TimerSelectMode==ADDIDATA_TIMER) */
|
||||
if (devpriv->b_TimerSelectMode == ADDIDATA_COUNTER) {
|
||||
ul_Command1 =
|
||||
inl(devpriv->iobase + ((devpriv->b_ModeSelectRegister -
|
||||
1) * 0x20) + APCI1564_TCW_PROG);
|
||||
if (data[1] == 1) {
|
||||
//Start the Counter subdevice
|
||||
/* Start the Counter subdevice */
|
||||
ul_Command1 = (ul_Command1 & 0xFFFFF9FFUL) | 0x1UL;
|
||||
} // if (data[1] == 1)
|
||||
} /* if (data[1] == 1) */
|
||||
else if (data[1] == 0) {
|
||||
// Stops the Counter subdevice
|
||||
/* Stops the Counter subdevice */
|
||||
ul_Command1 = 0;
|
||||
|
||||
} // else if (data[1] == 0)
|
||||
} /* else if (data[1] == 0) */
|
||||
else if (data[1] == 2) {
|
||||
// Clears the Counter subdevice
|
||||
/* Clears the Counter subdevice */
|
||||
ul_Command1 = (ul_Command1 & 0xFFFFF9FFUL) | 0x400;
|
||||
} // else if (data[1] == 3)
|
||||
} /* else if (data[1] == 3) */
|
||||
outl(ul_Command1,
|
||||
devpriv->iobase + ((devpriv->b_ModeSelectRegister -
|
||||
1) * 0x20) + APCI1564_TCW_PROG);
|
||||
} // if (devpriv->b_TimerSelectMode==ADDIDATA_COUNTER)
|
||||
} /* if (devpriv->b_TimerSelectMode==ADDIDATA_COUNTER) */
|
||||
return insn->n;
|
||||
}
|
||||
|
||||
|
@ -819,7 +821,7 @@ int i_APCI1564_ReadTimerCounterWatchdog(struct comedi_device * dev,
|
|||
unsigned int ul_Command1 = 0;
|
||||
|
||||
if (devpriv->b_TimerSelectMode == ADDIDATA_WATCHDOG) {
|
||||
// Stores the status of the Watchdog
|
||||
/* Stores the status of the Watchdog */
|
||||
data[0] =
|
||||
inl(devpriv->i_IobaseAmcc +
|
||||
APCI1564_DIGITAL_OP_WATCHDOG +
|
||||
|
@ -827,18 +829,18 @@ int i_APCI1564_ReadTimerCounterWatchdog(struct comedi_device * dev,
|
|||
data[1] =
|
||||
inl(devpriv->i_IobaseAmcc +
|
||||
APCI1564_DIGITAL_OP_WATCHDOG);
|
||||
} // if (devpriv->b_TimerSelectMode==ADDIDATA_WATCHDOG)
|
||||
} /* if (devpriv->b_TimerSelectMode==ADDIDATA_WATCHDOG) */
|
||||
else if (devpriv->b_TimerSelectMode == ADDIDATA_TIMER) {
|
||||
// Stores the status of the Timer
|
||||
/* Stores the status of the Timer */
|
||||
data[0] =
|
||||
inl(devpriv->i_IobaseAmcc + APCI1564_TIMER +
|
||||
APCI1564_TCW_TRIG_STATUS) & 0x1;
|
||||
|
||||
// Stores the Actual value of the Timer
|
||||
/* Stores the Actual value of the Timer */
|
||||
data[1] = inl(devpriv->i_IobaseAmcc + APCI1564_TIMER);
|
||||
} // else if (devpriv->b_TimerSelectMode==ADDIDATA_TIMER)
|
||||
} /* else if (devpriv->b_TimerSelectMode==ADDIDATA_TIMER) */
|
||||
else if (devpriv->b_TimerSelectMode == ADDIDATA_COUNTER) {
|
||||
// Read the Counter Actual Value.
|
||||
/* Read the Counter Actual Value. */
|
||||
data[0] =
|
||||
inl(devpriv->iobase + ((devpriv->b_ModeSelectRegister -
|
||||
1) * 0x20) +
|
||||
|
@ -866,12 +868,12 @@ int i_APCI1564_ReadTimerCounterWatchdog(struct comedi_device * dev,
|
|||
/* Get the overflow status */
|
||||
/***************************/
|
||||
data[4] = (unsigned char) ((ul_Command1 >> 0) & 1);
|
||||
} // else if (devpriv->b_TimerSelectMode==ADDIDATA_COUNTER)
|
||||
} /* else if (devpriv->b_TimerSelectMode==ADDIDATA_COUNTER) */
|
||||
else if ((devpriv->b_TimerSelectMode != ADDIDATA_TIMER)
|
||||
&& (devpriv->b_TimerSelectMode != ADDIDATA_WATCHDOG)
|
||||
&& (devpriv->b_TimerSelectMode != ADDIDATA_COUNTER)) {
|
||||
printk("\n Invalid Subdevice !!!\n");
|
||||
} // else if ((devpriv->b_TimerSelectMode!=ADDIDATA_TIMER) && (devpriv->b_TimerSelectMode!=ADDIDATA_WATCHDOG)&& (devpriv->b_TimerSelectMode!=ADDIDATA_COUNTER))
|
||||
} /* else if ((devpriv->b_TimerSelectMode!=ADDIDATA_TIMER) && (devpriv->b_TimerSelectMode!=ADDIDATA_WATCHDOG)&& (devpriv->b_TimerSelectMode!=ADDIDATA_COUNTER)) */
|
||||
return insn->n;
|
||||
}
|
||||
|
||||
|
@ -941,7 +943,7 @@ static void v_APCI1564_Interrupt(int irq, void *d)
|
|||
if (ui_DI == 0 && ui_DO == 0 && ui_Timer == 0 && ui_C1 == 0
|
||||
&& ui_C2 == 0 && ui_C3 == 0 && ui_C4 == 0) {
|
||||
printk("\nInterrupt from unknown source\n");
|
||||
} // if(ui_DI==0 && ui_DO==0 && ui_Timer==0 && ui_C1==0 && ui_C2==0 && ui_C3==0 && ui_C4==0)
|
||||
} /* if(ui_DI==0 && ui_DO==0 && ui_Timer==0 && ui_C1==0 && ui_C2==0 && ui_C3==0 && ui_C4==0) */
|
||||
|
||||
if (ui_DI == 1) {
|
||||
ui_DI = inl(devpriv->i_IobaseAmcc + APCI1564_DIGITAL_IP +
|
||||
|
@ -953,28 +955,28 @@ static void v_APCI1564_Interrupt(int irq, void *d)
|
|||
inl(devpriv->i_IobaseAmcc + APCI1564_DIGITAL_IP +
|
||||
APCI1564_DIGITAL_IP_INTERRUPT_STATUS);
|
||||
ui_InterruptStatus_1564 = ui_InterruptStatus_1564 & 0X000FFFF0;
|
||||
send_sig(SIGIO, devpriv->tsk_Current, 0); // send signal to the sample
|
||||
outl(ui_DI, devpriv->i_IobaseAmcc + APCI1564_DIGITAL_IP + APCI1564_DIGITAL_IP_IRQ); //enable the interrupt
|
||||
send_sig(SIGIO, devpriv->tsk_Current, 0); /* send signal to the sample */
|
||||
outl(ui_DI, devpriv->i_IobaseAmcc + APCI1564_DIGITAL_IP + APCI1564_DIGITAL_IP_IRQ); /* enable the interrupt */
|
||||
return;
|
||||
}
|
||||
|
||||
if (ui_DO == 1) {
|
||||
// Check for Digital Output interrupt Type - 1: Vcc interrupt 2: CC interrupt.
|
||||
/* Check for Digital Output interrupt Type - 1: Vcc interrupt 2: CC interrupt. */
|
||||
ui_Type =
|
||||
inl(devpriv->i_IobaseAmcc + APCI1564_DIGITAL_OP +
|
||||
APCI1564_DIGITAL_OP_INTERRUPT_STATUS) & 0x3;
|
||||
//Disable the Interrupt
|
||||
/* Disable the Interrupt */
|
||||
outl(0x0,
|
||||
devpriv->i_IobaseAmcc + APCI1564_DIGITAL_OP +
|
||||
APCI1564_DIGITAL_OP_INTERRUPT);
|
||||
|
||||
//Sends signal to user space
|
||||
/* Sends signal to user space */
|
||||
send_sig(SIGIO, devpriv->tsk_Current, 0);
|
||||
|
||||
} // if (ui_DO)
|
||||
} /* if (ui_DO) */
|
||||
|
||||
if ((ui_Timer == 1) && (devpriv->b_TimerSelectMode = ADDIDATA_TIMER)) {
|
||||
// Disable Timer Interrupt
|
||||
/* Disable Timer Interrupt */
|
||||
ul_Command2 =
|
||||
inl(devpriv->i_IobaseAmcc + APCI1564_TIMER +
|
||||
APCI1564_TCW_PROG);
|
||||
|
@ -982,18 +984,18 @@ static void v_APCI1564_Interrupt(int irq, void *d)
|
|||
devpriv->i_IobaseAmcc + APCI1564_TIMER +
|
||||
APCI1564_TCW_PROG);
|
||||
|
||||
//Send a signal to from kernel to user space
|
||||
/* Send a signal to from kernel to user space */
|
||||
send_sig(SIGIO, devpriv->tsk_Current, 0);
|
||||
|
||||
// Enable Timer Interrupt
|
||||
/* Enable Timer Interrupt */
|
||||
|
||||
outl(ul_Command2,
|
||||
devpriv->i_IobaseAmcc + APCI1564_TIMER +
|
||||
APCI1564_TCW_PROG);
|
||||
} // if ((ui_Timer == 1) && (devpriv->b_TimerSelectMode =ADDIDATA_TIMER))
|
||||
} /* if ((ui_Timer == 1) && (devpriv->b_TimerSelectMode =ADDIDATA_TIMER)) */
|
||||
|
||||
if ((ui_C1 == 1) && (devpriv->b_TimerSelectMode = ADDIDATA_COUNTER)) {
|
||||
// Disable Counter Interrupt
|
||||
/* Disable Counter Interrupt */
|
||||
ul_Command2 =
|
||||
inl(devpriv->iobase + APCI1564_COUNTER1 +
|
||||
APCI1564_TCW_PROG);
|
||||
|
@ -1001,17 +1003,17 @@ static void v_APCI1564_Interrupt(int irq, void *d)
|
|||
devpriv->iobase + APCI1564_COUNTER1 +
|
||||
APCI1564_TCW_PROG);
|
||||
|
||||
//Send a signal to from kernel to user space
|
||||
/* Send a signal to from kernel to user space */
|
||||
send_sig(SIGIO, devpriv->tsk_Current, 0);
|
||||
|
||||
// Enable Counter Interrupt
|
||||
/* Enable Counter Interrupt */
|
||||
outl(ul_Command2,
|
||||
devpriv->iobase + APCI1564_COUNTER1 +
|
||||
APCI1564_TCW_PROG);
|
||||
} // if ((ui_C1 == 1) && (devpriv->b_TimerSelectMode = ADDIDATA_COUNTER))
|
||||
} /* if ((ui_C1 == 1) && (devpriv->b_TimerSelectMode = ADDIDATA_COUNTER)) */
|
||||
|
||||
if ((ui_C2 == 1) && (devpriv->b_TimerSelectMode = ADDIDATA_COUNTER)) {
|
||||
// Disable Counter Interrupt
|
||||
/* Disable Counter Interrupt */
|
||||
ul_Command2 =
|
||||
inl(devpriv->iobase + APCI1564_COUNTER2 +
|
||||
APCI1564_TCW_PROG);
|
||||
|
@ -1019,17 +1021,17 @@ static void v_APCI1564_Interrupt(int irq, void *d)
|
|||
devpriv->iobase + APCI1564_COUNTER2 +
|
||||
APCI1564_TCW_PROG);
|
||||
|
||||
//Send a signal to from kernel to user space
|
||||
/* Send a signal to from kernel to user space */
|
||||
send_sig(SIGIO, devpriv->tsk_Current, 0);
|
||||
|
||||
// Enable Counter Interrupt
|
||||
/* Enable Counter Interrupt */
|
||||
outl(ul_Command2,
|
||||
devpriv->iobase + APCI1564_COUNTER2 +
|
||||
APCI1564_TCW_PROG);
|
||||
} // if ((ui_C2 == 1) && (devpriv->b_TimerSelectMode =ADDIDATA_COUNTER))
|
||||
} /* if ((ui_C2 == 1) && (devpriv->b_TimerSelectMode =ADDIDATA_COUNTER)) */
|
||||
|
||||
if ((ui_C3 == 1) && (devpriv->b_TimerSelectMode = ADDIDATA_COUNTER)) {
|
||||
// Disable Counter Interrupt
|
||||
/* Disable Counter Interrupt */
|
||||
ul_Command2 =
|
||||
inl(devpriv->iobase + APCI1564_COUNTER3 +
|
||||
APCI1564_TCW_PROG);
|
||||
|
@ -1037,17 +1039,17 @@ static void v_APCI1564_Interrupt(int irq, void *d)
|
|||
devpriv->iobase + APCI1564_COUNTER3 +
|
||||
APCI1564_TCW_PROG);
|
||||
|
||||
//Send a signal to from kernel to user space
|
||||
/* Send a signal to from kernel to user space */
|
||||
send_sig(SIGIO, devpriv->tsk_Current, 0);
|
||||
|
||||
// Enable Counter Interrupt
|
||||
/* Enable Counter Interrupt */
|
||||
outl(ul_Command2,
|
||||
devpriv->iobase + APCI1564_COUNTER3 +
|
||||
APCI1564_TCW_PROG);
|
||||
} // if ((ui_C3 == 1) && (devpriv->b_TimerSelectMode =ADDIDATA_COUNTER))
|
||||
} /* if ((ui_C3 == 1) && (devpriv->b_TimerSelectMode =ADDIDATA_COUNTER)) */
|
||||
|
||||
if ((ui_C4 == 1) && (devpriv->b_TimerSelectMode = ADDIDATA_COUNTER)) {
|
||||
// Disable Counter Interrupt
|
||||
/* Disable Counter Interrupt */
|
||||
ul_Command2 =
|
||||
inl(devpriv->iobase + APCI1564_COUNTER4 +
|
||||
APCI1564_TCW_PROG);
|
||||
|
@ -1055,14 +1057,14 @@ static void v_APCI1564_Interrupt(int irq, void *d)
|
|||
devpriv->iobase + APCI1564_COUNTER4 +
|
||||
APCI1564_TCW_PROG);
|
||||
|
||||
//Send a signal to from kernel to user space
|
||||
/* Send a signal to from kernel to user space */
|
||||
send_sig(SIGIO, devpriv->tsk_Current, 0);
|
||||
|
||||
// Enable Counter Interrupt
|
||||
/* Enable Counter Interrupt */
|
||||
outl(ul_Command2,
|
||||
devpriv->iobase + APCI1564_COUNTER4 +
|
||||
APCI1564_TCW_PROG);
|
||||
} // if ((ui_C4 == 1) && (devpriv->b_TimerSelectMode =ADDIDATA_COUNTER))
|
||||
} /* if ((ui_C4 == 1) && (devpriv->b_TimerSelectMode =ADDIDATA_COUNTER)) */
|
||||
return;
|
||||
}
|
||||
|
||||
|
@ -1083,14 +1085,14 @@ static void v_APCI1564_Interrupt(int irq, void *d)
|
|||
|
||||
int i_APCI1564_Reset(struct comedi_device * dev)
|
||||
{
|
||||
outl(0x0, devpriv->i_IobaseAmcc + APCI1564_DIGITAL_IP_IRQ); //disable the interrupts
|
||||
inl(devpriv->i_IobaseAmcc + APCI1564_DIGITAL_IP_INTERRUPT_STATUS); //Reset the interrupt status register
|
||||
outl(0x0, devpriv->i_IobaseAmcc + APCI1564_DIGITAL_IP_INTERRUPT_MODE1); //Disable the and/or interrupt
|
||||
outl(0x0, devpriv->i_IobaseAmcc + APCI1564_DIGITAL_IP_IRQ); /* disable the interrupts */
|
||||
inl(devpriv->i_IobaseAmcc + APCI1564_DIGITAL_IP_INTERRUPT_STATUS); /* Reset the interrupt status register */
|
||||
outl(0x0, devpriv->i_IobaseAmcc + APCI1564_DIGITAL_IP_INTERRUPT_MODE1); /* Disable the and/or interrupt */
|
||||
outl(0x0, devpriv->i_IobaseAmcc + APCI1564_DIGITAL_IP_INTERRUPT_MODE2);
|
||||
devpriv->b_DigitalOutputRegister = 0;
|
||||
ui_Type = 0;
|
||||
outl(0x0, devpriv->i_IobaseAmcc + APCI1564_DIGITAL_OP); //Resets the output channels
|
||||
outl(0x0, devpriv->i_IobaseAmcc + APCI1564_DIGITAL_OP_INTERRUPT); //Disables the interrupt.
|
||||
outl(0x0, devpriv->i_IobaseAmcc + APCI1564_DIGITAL_OP); /* Resets the output channels */
|
||||
outl(0x0, devpriv->i_IobaseAmcc + APCI1564_DIGITAL_OP_INTERRUPT); /* Disables the interrupt. */
|
||||
outl(0x0,
|
||||
devpriv->i_IobaseAmcc + APCI1564_DIGITAL_OP_WATCHDOG +
|
||||
APCI1564_TCW_RELOAD_VALUE);
|
||||
|
|
Загрузка…
Ссылка в новой задаче