Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 93093cad authored by Chase Southwood's avatar Chase Southwood Committed by Greg Kroah-Hartman
Browse files

staging: comedi: hwdrv_apci3120: clean up comments



This patch fixes improper comment indentation, removes dead code and
obsolete comments, and conforms remaining comments to a consistent kernel
commenting style.

Signed-off-by: default avatarChase Southwood <chase.southwood@gmail.com>
Reviewed-by: default avatarIan Abbott <abbotti@mev.co.uk>
Cc: H Hartley Sweeten <hsweeten@visionengravers.com>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent aaa0c2f7
Loading
Loading
Loading
Loading
+117 −247
Original line number Original line Diff line number Diff line
@@ -241,13 +241,6 @@ static const struct comedi_lrange range_apci3120_ao = {




/* FUNCTION DEFINITIONS */
/* FUNCTION DEFINITIONS */

/*
+----------------------------------------------------------------------------+
|                           ANALOG INPUT SUBDEVICE   		                 |
+----------------------------------------------------------------------------+
*/

static int apci3120_ai_insn_config(struct comedi_device *dev,
static int apci3120_ai_insn_config(struct comedi_device *dev,
				   struct comedi_subdevice *s,
				   struct comedi_subdevice *s,
				   struct comedi_insn *insn,
				   struct comedi_insn *insn,
@@ -260,7 +253,7 @@ static int apci3120_ai_insn_config(struct comedi_device *dev,
	if ((data[0] != APCI3120_EOC_MODE) && (data[0] != APCI3120_EOS_MODE))
	if ((data[0] != APCI3120_EOC_MODE) && (data[0] != APCI3120_EOS_MODE))
		return -1;
		return -1;


	/*  Check for Conversion time to be added ?? */
	/*  Check for Conversion time to be added */
	devpriv->ui_EocEosConversionTime = data[2];
	devpriv->ui_EocEosConversionTime = data[2];


	if (data[0] == APCI3120_EOS_MODE) {
	if (data[0] == APCI3120_EOS_MODE) {
@@ -282,7 +275,6 @@ static int apci3120_ai_insn_config(struct comedi_device *dev,
		else
		else
			devpriv->b_EocEosInterrupt = APCI3120_DISABLE;
			devpriv->b_EocEosInterrupt = APCI3120_DISABLE;
		/*  Copy channel list and Range List to devpriv */
		/*  Copy channel list and Range List to devpriv */

		devpriv->ui_AiNbrofChannels = data[3];
		devpriv->ui_AiNbrofChannels = data[3];
		for (i = 0; i < devpriv->ui_AiNbrofChannels; i++)
		for (i = 0; i < devpriv->ui_AiNbrofChannels; i++)
			devpriv->ui_AiChannelList[i] = data[4 + i];
			devpriv->ui_AiChannelList[i] = data[4 + i];
@@ -311,7 +303,7 @@ static int apci3120_setup_chan_list(struct comedi_device *dev,
				    char check)
				    char check)
{
{
	struct addi_private *devpriv = dev->private;
	struct addi_private *devpriv = dev->private;
	unsigned int i;		/* , differencial=0, bipolar=0; */
	unsigned int i;
	unsigned int gain;
	unsigned int gain;
	unsigned short us_TmpValue;
	unsigned short us_TmpValue;


@@ -326,7 +318,7 @@ static int apci3120_setup_chan_list(struct comedi_device *dev,
	if (check)
	if (check)
		return 1;
		return 1;


	/* Code  to set the PA and PR...Here it set PA to 0.. */
	/* Code  to set the PA and PR...Here it set PA to 0 */
	devpriv->us_OutputRegister =
	devpriv->us_OutputRegister =
		devpriv->us_OutputRegister & APCI3120_CLEAR_PA_PR;
		devpriv->us_OutputRegister & APCI3120_CLEAR_PA_PR;
	devpriv->us_OutputRegister = ((n_chan - 1) & 0xf) << 8;
	devpriv->us_OutputRegister = ((n_chan - 1) & 0xf) << 8;
@@ -334,16 +326,16 @@ static int apci3120_setup_chan_list(struct comedi_device *dev,


	for (i = 0; i < n_chan; i++) {
	for (i = 0; i < n_chan; i++) {
		/*  store range list to card */
		/*  store range list to card */
		us_TmpValue = CR_CHAN(chanlist[i]);	/*  get channel number; */
		us_TmpValue = CR_CHAN(chanlist[i]);	/*  get channel number */


		if (CR_RANGE(chanlist[i]) < APCI3120_BIPOLAR_RANGES)
		if (CR_RANGE(chanlist[i]) < APCI3120_BIPOLAR_RANGES)
			us_TmpValue &= ((~APCI3120_UNIPOLAR) & 0xff);	/*  set bipolar */
			us_TmpValue &= ((~APCI3120_UNIPOLAR) & 0xff);	/*  set bipolar */
		else
		else
			us_TmpValue |= APCI3120_UNIPOLAR;	/*  enable unipolar...... */
			us_TmpValue |= APCI3120_UNIPOLAR;	/*  enable unipolar */


		gain = CR_RANGE(chanlist[i]);	/*  get gain number */
		gain = CR_RANGE(chanlist[i]);	/*  get gain number */
		us_TmpValue |= ((gain & 0x03) << 4);	/* <<4 for G0 and G1 bit in RAM */
		us_TmpValue |= ((gain & 0x03) << 4);	/* <<4 for G0 and G1 bit in RAM */
		us_TmpValue |= i << 8;	/* To select the RAM LOCATION.... */
		us_TmpValue |= i << 8;	/* To select the RAM LOCATION */
		outw(us_TmpValue, dev->iobase + APCI3120_SEQ_RAM_ADDRESS);
		outw(us_TmpValue, dev->iobase + APCI3120_SEQ_RAM_ADDRESS);
	}
	}
	return 1;		/*  we can serve this with scan logic */
	return 1;		/*  we can serve this with scan logic */
@@ -370,24 +362,21 @@ static int apci3120_ai_insn_read(struct comedi_device *dev,
	else
	else
		us_ConvertTiming = (unsigned short) (devpriv->ui_EocEosConversionTime / 1000);	/*  nano to useconds */
		us_ConvertTiming = (unsigned short) (devpriv->ui_EocEosConversionTime / 1000);	/*  nano to useconds */


	/*  this_board->ai_read(dev,us_ConvertTiming,insn->n,&insn->chanspec,data,insn->unused[0]); */

	/*  Clear software registers */
	/*  Clear software registers */
	devpriv->b_TimerSelectMode = 0;
	devpriv->b_TimerSelectMode = 0;
	devpriv->b_ModeSelectRegister = 0;
	devpriv->b_ModeSelectRegister = 0;
	devpriv->us_OutputRegister = 0;
	devpriv->us_OutputRegister = 0;
/* devpriv->b_DigitalOutputRegister=0; */


	if (insn->unused[0] == 222) {	/*  second insn read */
	if (insn->unused[0] == 222) {	/*  second insn read */
		for (i = 0; i < insn->n; i++)
		for (i = 0; i < insn->n; i++)
			data[i] = devpriv->ui_AiReadData[i];
			data[i] = devpriv->ui_AiReadData[i];
	} else {
	} else {
		devpriv->tsk_Current = current;	/*  Save the current process task structure */
		devpriv->tsk_Current = current;	/*  Save the current process task structure */

		/*
		/*
		 * Testing if board have the new Quartz and calculate the time value
		 * Testing if board have the new Quartz and calculate the time value
		 * to set in the timer
		 * to set in the timer
		 */
		 */

		us_TmpValue =
		us_TmpValue =
			(unsigned short) inw(devpriv->iobase + APCI3120_RD_STATUS);
			(unsigned short) inw(devpriv->iobase + APCI3120_RD_STATUS);


@@ -556,7 +545,6 @@ static int apci3120_ai_insn_read(struct comedi_device *dev,
			inw(devpriv->iobase + APCI3120_RD_STATUS);
			inw(devpriv->iobase + APCI3120_RD_STATUS);


			/* Sets gate 0 */
			/* Sets gate 0 */

			devpriv->us_OutputRegister =
			devpriv->us_OutputRegister =
				devpriv->
				devpriv->
				us_OutputRegister | APCI3120_ENABLE_TIMER0;
				us_OutputRegister | APCI3120_ENABLE_TIMER0;
@@ -583,7 +571,7 @@ static int apci3120_ai_insn_read(struct comedi_device *dev,
					data[i] = (unsigned int) us_TmpValue;
					data[i] = (unsigned int) us_TmpValue;
				}
				}


				devpriv->b_InterruptMode = APCI3120_EOC_MODE;	/*  Restore defaults. */
				devpriv->b_InterruptMode = APCI3120_EOC_MODE;	/*  Restore defaults */
			}
			}
			break;
			break;


@@ -591,7 +579,7 @@ static int apci3120_ai_insn_read(struct comedi_device *dev,
			dev_err(dev->class_dev, "inputs wrong\n");
			dev_err(dev->class_dev, "inputs wrong\n");


		}
		}
		devpriv->ui_EocEosConversionTime = 0;	/*  re initializing the variable; */
		devpriv->ui_EocEosConversionTime = 0;	/*  re initializing the variable */
	}
	}


	return insn->n;
	return insn->n;
@@ -637,9 +625,6 @@ static int apci3120_reset(struct comedi_device *dev)
	outw(8191 | APCI3120_ANALOG_OP_CHANNEL_7, dev->iobase + APCI3120_ANALOG_OUTPUT_2);	/* channel 7 */
	outw(8191 | APCI3120_ANALOG_OP_CHANNEL_7, dev->iobase + APCI3120_ANALOG_OUTPUT_2);	/* channel 7 */
	outw(8191 | APCI3120_ANALOG_OP_CHANNEL_8, dev->iobase + APCI3120_ANALOG_OUTPUT_2);	/* channel 8 */
	outw(8191 | APCI3120_ANALOG_OP_CHANNEL_8, dev->iobase + APCI3120_ANALOG_OUTPUT_2);	/* channel 8 */


	/*   Reset digital output to L0W */

/* ES05  outb(0x0,dev->iobase+APCI3120_DIGITAL_OUTPUT); */
	udelay(10);
	udelay(10);


	inw(dev->iobase + 0);	/* make a dummy read */
	inw(dev->iobase + 0);	/* make a dummy read */
@@ -689,12 +674,6 @@ static int apci3120_cancel(struct comedi_device *dev,
	/* Disable BUS Master PCI */
	/* Disable BUS Master PCI */
	outl(0, devpriv->i_IobaseAmcc + AMCC_OP_REG_MCSR);
	outl(0, devpriv->i_IobaseAmcc + AMCC_OP_REG_MCSR);


	/* outl(inl(devpriv->i_IobaseAmcc+AMCC_OP_REG_INTCSR)&(~AINT_WRITE_COMPL),
	 * devpriv->i_IobaseAmcc+AMCC_OP_REG_INTCSR);  stop amcc irqs */

	/* outl(inl(devpriv->i_IobaseAmcc+AMCC_OP_REG_MCSR)&(~EN_A2P_TRANSFERS),
	 * devpriv->i_IobaseAmcc+AMCC_OP_REG_MCSR);  stop DMA */

	/* Disable ext trigger */
	/* Disable ext trigger */
	apci3120_exttrig_disable(dev);
	apci3120_exttrig_disable(dev);


@@ -811,53 +790,29 @@ static int apci3120_cyclic_ai(int mode,
		0, ui_TimerValue0, ui_ConvertTiming;
		0, ui_TimerValue0, ui_ConvertTiming;
	unsigned short us_TmpValue;
	unsigned short us_TmpValue;


	/*******************/
	/* Resets the FIFO */
	/* Resets the FIFO */
	/*******************/
	inb(dev->iobase + APCI3120_RESET_FIFO);
	inb(dev->iobase + APCI3120_RESET_FIFO);


	/* BEGIN JK 07.05.04: Comparison between WIN32 and Linux driver */
	/* inw(dev->iobase+APCI3120_RD_STATUS); */
	/* END JK 07.05.04: Comparison between WIN32 and Linux driver */

	devpriv->ai_running = 1;
	devpriv->ai_running = 1;


	/*  clear software  registers */
	/*  clear software  registers */
	devpriv->b_TimerSelectMode = 0;
	devpriv->b_TimerSelectMode = 0;
	devpriv->us_OutputRegister = 0;
	devpriv->us_OutputRegister = 0;
	devpriv->b_ModeSelectRegister = 0;
	devpriv->b_ModeSelectRegister = 0;
	/* devpriv->b_DigitalOutputRegister=0; */


	/* COMMENT JK 07.05.04: Followings calls are in i_APCI3120_StartAnalogInputAcquisition */

	/****************************/
	/* Clear Timer Write TC int */
	/* Clear Timer Write TC int */
	/****************************/
	outl(APCI3120_CLEAR_WRITE_TC_INT,
	outl(APCI3120_CLEAR_WRITE_TC_INT,
		devpriv->i_IobaseAmcc + APCI3120_AMCC_OP_REG_INTCSR);
		devpriv->i_IobaseAmcc + APCI3120_AMCC_OP_REG_INTCSR);


	/************************************/
	/* Clears the timer status register */
	/************************************/

	/* BEGIN JK 07.05.04: Comparison between WIN32 and Linux driver */
	/* inw(dev->iobase+APCI3120_TIMER_STATUS_REGISTER); */
	/* inb(dev->iobase + APCI3120_TIMER_STATUS_REGISTER); */
	/* END JK 07.05.04: Comparison between WIN32 and Linux driver */

	/**************************/
	/* Disables All Timer     */
	/* Disables All Timer     */
	/* Sets PR and PA to 0    */
	/* Sets PR and PA to 0    */
	/**************************/
	devpriv->us_OutputRegister = devpriv->us_OutputRegister &
	devpriv->us_OutputRegister = devpriv->us_OutputRegister &
		APCI3120_DISABLE_TIMER0 &
		APCI3120_DISABLE_TIMER0 &
		APCI3120_DISABLE_TIMER1 & APCI3120_CLEAR_PA_PR;
		APCI3120_DISABLE_TIMER1 & APCI3120_CLEAR_PA_PR;


	outw(devpriv->us_OutputRegister, dev->iobase + APCI3120_WR_ADDRESS);
	outw(devpriv->us_OutputRegister, dev->iobase + APCI3120_WR_ADDRESS);


	/*******************/
	/* Resets the FIFO */
	/* Resets the FIFO */
	/*******************/
	/* BEGIN JK 07.05.04: Comparison between WIN32 and Linux driver */
	/* BEGIN JK 07.05.04: Comparison between WIN32 and Linux driver */
	inb(devpriv->iobase + APCI3120_RESET_FIFO);
	inb(devpriv->iobase + APCI3120_RESET_FIFO);
	/* END JK 07.05.04: Comparison between WIN32 and Linux driver */
	/* END JK 07.05.04: Comparison between WIN32 and Linux driver */
@@ -866,44 +821,21 @@ static int apci3120_cyclic_ai(int mode,
	s->async->cur_chan = 0;
	s->async->cur_chan = 0;
	devpriv->ui_DmaActualBuffer = 0;
	devpriv->ui_DmaActualBuffer = 0;


	/*  value for timer2  minus -2 has to be done .....dunno y?? */
	/* value for timer2  minus -2 has to be done */
	ui_TimerValue2 = cmd->stop_arg - 2;
	ui_TimerValue2 = cmd->stop_arg - 2;
	ui_ConvertTiming = cmd->convert_arg;
	ui_ConvertTiming = cmd->convert_arg;


	if (mode == 2)
	if (mode == 2)
		ui_DelayTiming = cmd->scan_begin_arg;
		ui_DelayTiming = cmd->scan_begin_arg;


   /**********************************/
	/* Initializes the sequence array */
	/* Initializes the sequence array */
   /**********************************/
	if (!apci3120_setup_chan_list(dev, s, devpriv->ui_AiNbrofChannels,
	if (!apci3120_setup_chan_list(dev, s, devpriv->ui_AiNbrofChannels,
			cmd->chanlist, 0))
			cmd->chanlist, 0))
		return -EINVAL;
		return -EINVAL;


	us_TmpValue = (unsigned short) inw(dev->iobase + APCI3120_RD_STATUS);
	us_TmpValue = (unsigned short) inw(dev->iobase + APCI3120_RD_STATUS);
/*** EL241003 : add this section in comment because floats must not be used

	if((us_TmpValue & 0x00B0)==0x00B0)
	/* EL241003 Begin: add this section to replace floats calculation by integer calculations */
	 {
		f_ConvertValue=(((float)ui_ConvertTiming * 0.002) - 2);
		ui_TimerValue0=(unsigned int)f_ConvertValue;
		if (mode==2)
		{
			f_DelayValue     = (((float)ui_DelayTiming * 0.00002) - 2);
			ui_TimerValue1  =   (unsigned int) f_DelayValue;
		}
	 }
	else
	 {
		f_ConvertValue=(((float)ui_ConvertTiming * 0.0012926) - 1);
		ui_TimerValue0=(unsigned int)f_ConvertValue;
		if (mode == 2)
		{
		     f_DelayValue     = (((float)ui_DelayTiming * 0.000012926) - 1);
		     ui_TimerValue1  =   (unsigned int) f_DelayValue;
		}
	}
***********************************************************************************************/
/*** EL241003 Begin : add this section to replace floats calculation by integer calculations **/
	/* EL250804: Testing if board APCI3120 have the new Quartz or if it is an APCI3001 */
	/* EL250804: Testing if board APCI3120 have the new Quartz or if it is an APCI3001 */
	if ((us_TmpValue & 0x00B0) == 0x00B0
	if ((us_TmpValue & 0x00B0) == 0x00B0
		|| !strcmp(this_board->pc_DriverName, "apci3001")) {
		|| !strcmp(this_board->pc_DriverName, "apci3001")) {
@@ -926,7 +858,7 @@ static int apci3120_cyclic_ai(int mode,
			ui_TimerValue1 = ui_TimerValue1 / 1000000;
			ui_TimerValue1 = ui_TimerValue1 / 1000000;
		}
		}
	}
	}
/*** EL241003 End ******************************************************************************/
	/* EL241003 End */


	if (devpriv->b_ExttrigEnable == APCI3120_ENABLE)
	if (devpriv->b_ExttrigEnable == APCI3120_ENABLE)
		apci3120_exttrig_enable(dev);	/*  activate EXT trigger */
		apci3120_exttrig_enable(dev);	/*  activate EXT trigger */
@@ -985,15 +917,8 @@ static int apci3120_cyclic_ai(int mode,
		break;
		break;


	}
	}
	/*    ##########common for all modes################# */
	/* common for all modes */

	/***********************/
	/* Clears the SCAN bit */
	/***********************/

	/* BEGIN JK 07.05.04: Comparison between WIN32 and Linux driver */
	/* BEGIN JK 07.05.04: Comparison between WIN32 and Linux driver */
	/* devpriv->b_ModeSelectRegister=devpriv->b_ModeSelectRegister | APCI3120_DISABLE_SCAN; */

	devpriv->b_ModeSelectRegister = devpriv->b_ModeSelectRegister &
	devpriv->b_ModeSelectRegister = devpriv->b_ModeSelectRegister &
		APCI3120_DISABLE_SCAN;
		APCI3120_DISABLE_SCAN;
	/* END JK 07.05.04: Comparison between WIN32 and Linux driver */
	/* END JK 07.05.04: Comparison between WIN32 and Linux driver */
@@ -1083,15 +1008,9 @@ static int apci3120_cyclic_ai(int mode,
	} else {
	} else {
		/* If DMA Enabled */
		/* If DMA Enabled */
		unsigned int scan_bytes = cmd->scan_end_arg * sizeof(short);
		unsigned int scan_bytes = cmd->scan_end_arg * sizeof(short);

		/* BEGIN JK 07.05.04: Comparison between WIN32 and Linux driver */
		/* inw(dev->iobase+0); reset EOC bit */
		/* END JK 07.05.04: Comparison between WIN32 and Linux driver */
		devpriv->b_InterruptMode = APCI3120_DMA_MODE;
		devpriv->b_InterruptMode = APCI3120_DMA_MODE;


		/************************************/
		/* Disables the EOC, EOS interrupt  */
		/* Disables the EOC, EOS interrupt  */
		/************************************/
		devpriv->b_ModeSelectRegister = devpriv->b_ModeSelectRegister &
		devpriv->b_ModeSelectRegister = devpriv->b_ModeSelectRegister &
			APCI3120_DISABLE_EOC_INT & APCI3120_DISABLE_EOS_INT;
			APCI3120_DISABLE_EOC_INT & APCI3120_DISABLE_EOS_INT;


@@ -1147,9 +1066,7 @@ static int apci3120_cyclic_ai(int mode,
		outl(ui_Tmp, devpriv->i_IobaseAmcc + AMCC_OP_REG_AGCSTS);
		outl(ui_Tmp, devpriv->i_IobaseAmcc + AMCC_OP_REG_AGCSTS);


		/*  changed  since 16 bit interface for add on */
		/*  changed  since 16 bit interface for add on */
		/*********************/
		/* ENABLE BUS MASTER */
		/* ENABLE BUS MASTER */
		/*********************/
		outw(APCI3120_ADD_ON_AGCSTS_LOW, devpriv->i_IobaseAddon + 0);
		outw(APCI3120_ADD_ON_AGCSTS_LOW, devpriv->i_IobaseAddon + 0);
		outw(APCI3120_ENABLE_TRANSFER_ADD_ON_LOW,
		outw(APCI3120_ENABLE_TRANSFER_ADD_ON_LOW,
			devpriv->i_IobaseAddon + 2);
			devpriv->i_IobaseAddon + 2);
@@ -1168,10 +1085,6 @@ static int apci3120_cyclic_ai(int mode,
		/* 2 No change */
		/* 2 No change */
		/* A2P FIFO MANAGEMENT */
		/* A2P FIFO MANAGEMENT */
		/* A2P fifo reset & transfer control enable */
		/* A2P fifo reset & transfer control enable */

		/***********************/
		/* A2P FIFO MANAGEMENT */
		/***********************/
		outl(APCI3120_A2P_FIFO_MANAGEMENT, devpriv->i_IobaseAmcc +
		outl(APCI3120_A2P_FIFO_MANAGEMENT, devpriv->i_IobaseAmcc +
			APCI3120_AMCC_OP_MCSR);
			APCI3120_AMCC_OP_MCSR);


@@ -1187,9 +1100,7 @@ static int apci3120_cyclic_ai(int mode,
		outw((devpriv->ul_DmaBufferHw[0] & 0xFFFF),
		outw((devpriv->ul_DmaBufferHw[0] & 0xFFFF),
			devpriv->i_IobaseAddon + 2);
			devpriv->i_IobaseAddon + 2);


		/*************************/
		/* DMA Start Address High */
		/* DMA Start Address High */
		/*************************/
		outw(APCI3120_ADD_ON_MWAR_HIGH, devpriv->i_IobaseAddon + 0);
		outw(APCI3120_ADD_ON_MWAR_HIGH, devpriv->i_IobaseAddon + 0);
		outw((devpriv->ul_DmaBufferHw[0] / 65536),
		outw((devpriv->ul_DmaBufferHw[0] / 65536),
			devpriv->i_IobaseAddon + 2);
			devpriv->i_IobaseAddon + 2);
@@ -1198,20 +1109,14 @@ static int apci3120_cyclic_ai(int mode,
		 * 4
		 * 4
		 * amount of bytes to be transferred set transfer count used ADDON
		 * amount of bytes to be transferred set transfer count used ADDON
		 * MWTC register commented testing
		 * MWTC register commented testing
 * outl(devpriv->ui_DmaBufferUsesize[0],
 * devpriv->i_IobaseAddon+AMCC_OP_REG_AMWTC);
		 */
		 */


		/**************************/
		/* Nbr of acquisition LOW */
		/* Nbr of acquisition LOW */
		/**************************/
		outw(APCI3120_ADD_ON_MWTC_LOW, devpriv->i_IobaseAddon + 0);
		outw(APCI3120_ADD_ON_MWTC_LOW, devpriv->i_IobaseAddon + 0);
		outw((devpriv->ui_DmaBufferUsesize[0] & 0xFFFF),
		outw((devpriv->ui_DmaBufferUsesize[0] & 0xFFFF),
			devpriv->i_IobaseAddon + 2);
			devpriv->i_IobaseAddon + 2);


		/***************************/
		/* Nbr of acquisition HIGH */
		/* Nbr of acquisition HIGH */
		/***************************/
		outw(APCI3120_ADD_ON_MWTC_HIGH, devpriv->i_IobaseAddon + 0);
		outw(APCI3120_ADD_ON_MWTC_HIGH, devpriv->i_IobaseAddon + 0);
		outw((devpriv->ui_DmaBufferUsesize[0] / 65536),
		outw((devpriv->ui_DmaBufferUsesize[0] / 65536),
			devpriv->i_IobaseAddon + 2);
			devpriv->i_IobaseAddon + 2);
@@ -1222,9 +1127,7 @@ static int apci3120_cyclic_ai(int mode,
		 * FIFO_ADVANCE_ON_BYTE_2,devpriv->i_IobaseAmcc+AMCC_OP_REG_INTCSR);
		 * FIFO_ADVANCE_ON_BYTE_2,devpriv->i_IobaseAmcc+AMCC_OP_REG_INTCSR);
		 */
		 */


		/******************/
		/* A2P FIFO RESET */
		/* A2P FIFO RESET */
		/******************/
		/*
		/*
		 * TO VERIFY BEGIN JK 07.05.04: Comparison between WIN32 and Linux
		 * TO VERIFY BEGIN JK 07.05.04: Comparison between WIN32 and Linux
		 * driver
		 * driver
@@ -1238,32 +1141,22 @@ static int apci3120_cyclic_ai(int mode,
		 * A2P_FIFO_WRITE_ENABLE (0x01|0x02)=0x03
		 * A2P_FIFO_WRITE_ENABLE (0x01|0x02)=0x03
		 */
		 */


		/* BEGIN JK 07.05.04: Comparison between WIN32 and Linux driver */
		/* outw(3,devpriv->i_IobaseAddon + 4); */
		/* END JK 07.05.04: Comparison between WIN32 and Linux driver */

		/*
		/*
		 * 7
		 * 7
		 * initialise end of dma interrupt AINT_WRITE_COMPL =
		 * initialise end of dma interrupt AINT_WRITE_COMPL =
		 * ENABLE_WRITE_TC_INT(ADDI)
		 * ENABLE_WRITE_TC_INT(ADDI)
		 */
		 */
		/***************************************************/
		/* A2P FIFO CONFIGURATE, END OF DMA intERRUPT INIT */
		/* A2P FIFO CONFIGURATE, END OF DMA intERRUPT INIT */
		/***************************************************/
		outl((APCI3120_FIFO_ADVANCE_ON_BYTE_2 |
		outl((APCI3120_FIFO_ADVANCE_ON_BYTE_2 |
				APCI3120_ENABLE_WRITE_TC_INT),
				APCI3120_ENABLE_WRITE_TC_INT),
			devpriv->i_IobaseAmcc + AMCC_OP_REG_INTCSR);
			devpriv->i_IobaseAmcc + AMCC_OP_REG_INTCSR);


		/* BEGIN JK 07.05.04: Comparison between WIN32 and Linux driver */
		/* BEGIN JK 07.05.04: Comparison between WIN32 and Linux driver */
		/******************************************/
		/* ENABLE A2P FIFO WRITE AND ENABLE AMWEN */
		/* ENABLE A2P FIFO WRITE AND ENABLE AMWEN */
		/******************************************/
		outw(3, devpriv->i_IobaseAddon + 4);
		outw(3, devpriv->i_IobaseAddon + 4);
		/* END JK 07.05.04: Comparison between WIN32 and Linux driver */
		/* END JK 07.05.04: Comparison between WIN32 and Linux driver */


		/******************/
		/* A2P FIFO RESET */
		/* A2P FIFO RESET */
		/******************/
		/* BEGIN JK 07.05.04: Comparison between WIN32 and Linux driver */
		/* BEGIN JK 07.05.04: Comparison between WIN32 and Linux driver */
		outl(0x04000000UL,
		outl(0x04000000UL,
			devpriv->i_IobaseAmcc + APCI3120_AMCC_OP_MCSR);
			devpriv->i_IobaseAmcc + APCI3120_AMCC_OP_MCSR);
@@ -1462,7 +1355,7 @@ static void apci3120_interrupt_dma(int irq, void *d)
		outw(APCI3120_ENABLE_TRANSFER_ADD_ON_LOW,
		outw(APCI3120_ENABLE_TRANSFER_ADD_ON_LOW,
			devpriv->i_IobaseAddon + 2);
			devpriv->i_IobaseAddon + 2);
		outw(APCI3120_ADD_ON_AGCSTS_HIGH, devpriv->i_IobaseAddon + 0);
		outw(APCI3120_ADD_ON_AGCSTS_HIGH, devpriv->i_IobaseAddon + 0);
		outw(APCI3120_ENABLE_TRANSFER_ADD_ON_HIGH, devpriv->i_IobaseAddon + 2);	/*  */
		outw(APCI3120_ENABLE_TRANSFER_ADD_ON_HIGH, devpriv->i_IobaseAddon + 2);
		/*
		/*
		 * A2P FIFO MANAGEMENT
		 * A2P FIFO MANAGEMENT
		 * A2P fifo reset & transfer control enable
		 * A2P fifo reset & transfer control enable
@@ -1570,7 +1463,6 @@ static void apci3120_interrupt(int irq, void *d)
		if (devpriv->b_EocEosInterrupt == APCI3120_ENABLE) {
		if (devpriv->b_EocEosInterrupt == APCI3120_ENABLE) {


			/*  Read the AI Value */
			/*  Read the AI Value */

			devpriv->ui_AiReadData[0] =
			devpriv->ui_AiReadData[0] =
				(unsigned int) inw(devpriv->iobase + 0);
				(unsigned int) inw(devpriv->iobase + 0);
			devpriv->b_EocEosInterrupt = APCI3120_DISABLE;
			devpriv->b_EocEosInterrupt = APCI3120_DISABLE;
@@ -1670,7 +1562,6 @@ static void apci3120_interrupt(int irq, void *d)
		default:
		default:


			/*  disable Timer Interrupt */
			/*  disable Timer Interrupt */

			devpriv->b_ModeSelectRegister =
			devpriv->b_ModeSelectRegister =
				devpriv->
				devpriv->
				b_ModeSelectRegister &
				b_ModeSelectRegister &
@@ -1688,17 +1579,12 @@ static void apci3120_interrupt(int irq, void *d)
	if ((int_daq & 0x4) && (devpriv->b_InterruptMode == APCI3120_DMA_MODE)) {
	if ((int_daq & 0x4) && (devpriv->b_InterruptMode == APCI3120_DMA_MODE)) {
		if (devpriv->ai_running) {
		if (devpriv->ai_running) {


			/****************************/
			/* Clear Timer Write TC int */
			/* Clear Timer Write TC int */
			/****************************/

			outl(APCI3120_CLEAR_WRITE_TC_INT,
			outl(APCI3120_CLEAR_WRITE_TC_INT,
				devpriv->i_IobaseAmcc +
				devpriv->i_IobaseAmcc +
				APCI3120_AMCC_OP_REG_INTCSR);
				APCI3120_AMCC_OP_REG_INTCSR);


			/************************************/
			/* Clears the timer status register */
			/* Clears the timer status register */
			/************************************/
			inw(dev->iobase + APCI3120_TIMER_STATUS_REGISTER);
			inw(dev->iobase + APCI3120_TIMER_STATUS_REGISTER);
			/* do some data transfer */
			/* do some data transfer */
			apci3120_interrupt_dma(irq, d);
			apci3120_interrupt_dma(irq, d);
@@ -1741,7 +1627,6 @@ static int apci3120_config_insn_timer(struct comedi_device *dev,


	ui_Timervalue2 = data[1] / 1000;	/*  convert nano seconds  to u seconds */
	ui_Timervalue2 = data[1] / 1000;	/*  convert nano seconds  to u seconds */


	/* this_board->timer_config(dev, ui_Timervalue2,(unsigned char)data[0]); */
	us_TmpValue = (unsigned short) inw(devpriv->iobase + APCI3120_RD_STATUS);
	us_TmpValue = (unsigned short) inw(devpriv->iobase + APCI3120_RD_STATUS);


	/*
	/*
@@ -1775,11 +1660,6 @@ static int apci3120_config_insn_timer(struct comedi_device *dev,
	outb(devpriv->b_ModeSelectRegister,
	outb(devpriv->b_ModeSelectRegister,
		devpriv->iobase + APCI3120_WRITE_MODE_SELECT);
		devpriv->iobase + APCI3120_WRITE_MODE_SELECT);
	if (data[0] == APCI3120_TIMER) {	/* initialize timer */
	if (data[0] == APCI3120_TIMER) {	/* initialize timer */
		/* devpriv->b_ModeSelectRegister=devpriv->b_ModeSelectRegister |
		 * APCI3120_ENABLE_TIMER_INT; */

		/* outb(devpriv->b_ModeSelectRegister,devpriv->iobase+APCI3120_WRITE_MODE_SELECT); */

		/* Set the Timer 2 in mode 2(Timer) */
		/* Set the Timer 2 in mode 2(Timer) */
		devpriv->b_TimerSelectMode =
		devpriv->b_TimerSelectMode =
			(devpriv->
			(devpriv->
@@ -1816,7 +1696,6 @@ static int apci3120_config_insn_timer(struct comedi_device *dev,
	} else {			/*  Initialize Watch dog */
	} else {			/*  Initialize Watch dog */


		/* Set the Timer 2 in mode 5(Watchdog) */
		/* Set the Timer 2 in mode 5(Watchdog) */

		devpriv->b_TimerSelectMode =
		devpriv->b_TimerSelectMode =
			(devpriv->
			(devpriv->
			b_TimerSelectMode & 0x0F) | APCI3120_TIMER_2_MODE_5;
			b_TimerSelectMode & 0x0F) | APCI3120_TIMER_2_MODE_5;
@@ -1898,8 +1777,6 @@ static int apci3120_write_insn_timer(struct comedi_device *dev,
			ui_Timervalue2 = 0;
			ui_Timervalue2 = 0;
	}
	}


	/* this_board->timer_write(dev,data[0],ui_Timervalue2); */

	switch (data[0]) {
	switch (data[0]) {
	case APCI3120_START:
	case APCI3120_START:


@@ -1937,7 +1814,7 @@ static int apci3120_write_insn_timer(struct comedi_device *dev,
			devpriv->iobase + APCI3120_WRITE_MODE_SELECT);
			devpriv->iobase + APCI3120_WRITE_MODE_SELECT);


		if (devpriv->b_Timer2Mode == APCI3120_TIMER) {	/* start timer */
		if (devpriv->b_Timer2Mode == APCI3120_TIMER) {	/* start timer */
			/* For Timer mode is  Gate2 must be activated   **timer started */
			/* For Timer mode is  Gate2 must be activated	timer started */
			devpriv->us_OutputRegister =
			devpriv->us_OutputRegister =
				devpriv->
				devpriv->
				us_OutputRegister | APCI3120_ENABLE_TIMER2;
				us_OutputRegister | APCI3120_ENABLE_TIMER2;
@@ -1979,9 +1856,6 @@ static int apci3120_write_insn_timer(struct comedi_device *dev,
		/*  Reset FC_TIMER BIT */
		/*  Reset FC_TIMER BIT */
		inb(devpriv->iobase + APCI3120_TIMER_STATUS_REGISTER);
		inb(devpriv->iobase + APCI3120_TIMER_STATUS_REGISTER);


		/* Disable timer */
		/* devpriv->b_Timer2Mode=APCI3120_DISABLE;  */

		break;
		break;


	case 2:		/* write new value to Timer */
	case 2:		/* write new value to Timer */
@@ -1990,7 +1864,6 @@ static int apci3120_write_insn_timer(struct comedi_device *dev,
				"timer2 not configured in TIMER MODE\n");
				"timer2 not configured in TIMER MODE\n");
			return -EINVAL;
			return -EINVAL;
		}
		}
		/*  ui_Timervalue2=data[1]; // passed as argument */
		us_TmpValue =
		us_TmpValue =
			(unsigned short) inw(devpriv->iobase + APCI3120_RD_STATUS);
			(unsigned short) inw(devpriv->iobase + APCI3120_RD_STATUS);


@@ -2053,8 +1926,6 @@ static int apci3120_read_insn_timer(struct comedi_device *dev,
		&& (devpriv->b_Timer2Mode != APCI3120_TIMER)) {
		&& (devpriv->b_Timer2Mode != APCI3120_TIMER)) {
		dev_err(dev->class_dev, "timer2 not configured\n");
		dev_err(dev->class_dev, "timer2 not configured\n");
	}
	}

	/* this_board->timer_read(dev,data); */
	if (devpriv->b_Timer2Mode == APCI3120_TIMER) {
	if (devpriv->b_Timer2Mode == APCI3120_TIMER) {


		/* Read the LOW unsigned short of Timer 2 register */
		/* Read the LOW unsigned short of Timer 2 register */
@@ -2137,7 +2008,6 @@ static int apci3120_ao_insn_write(struct comedi_device *dev,
	ui_Range = CR_RANGE(insn->chanspec);
	ui_Range = CR_RANGE(insn->chanspec);
	ui_Channel = CR_CHAN(insn->chanspec);
	ui_Channel = CR_CHAN(insn->chanspec);


	/* this_board->ao_write(dev, ui_Range, ui_Channel,data[0]); */
	if (ui_Range) {		/*  if 1 then unipolar */
	if (ui_Range) {		/*  if 1 then unipolar */


		if (data[0] != 0)
		if (data[0] != 0)