Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 337585
b: refs/heads/master
c: 2b0c856
h: refs/heads/master
i:
  337583: d1a1390
v: v3
  • Loading branch information
Lars-Peter Clausen authored and Jonathan Cameron committed Oct 31, 2012
1 parent e37b523 commit 577cc1f
Show file tree
Hide file tree
Showing 87 changed files with 7,582 additions and 6,172 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: abcdc99f7cb387fdc1d18fb0bc5f50b75a0f2d71
refs/heads/master: 2b0c856ad9571013db8fc369194b7108dff3c18e
197 changes: 91 additions & 106 deletions trunk/drivers/staging/comedi/drivers/addi-data/APCI1710_82x54.c
Original file line number Diff line number Diff line change
Expand Up @@ -18,19 +18,7 @@
| Description : APCI-1710 82X54 timer module |
*/

#define APCI1710_PCI_BUS_CLOCK 0
#define APCI1710_FRONT_CONNECTOR_INPUT 1
#define APCI1710_TIMER_READVALUE 0
#define APCI1710_TIMER_GETOUTPUTLEVEL 1
#define APCI1710_TIMER_GETPROGRESSSTATUS 2
#define APCI1710_TIMER_WRITEVALUE 3

#define APCI1710_TIMER_READINTERRUPT 1
#define APCI1710_TIMER_READALLTIMER 2

#ifndef APCI1710_10MHZ
#define APCI1710_10MHZ 10
#endif
#include "APCI1710_82x54.h"

/*
+----------------------------------------------------------------------------+
Expand Down Expand Up @@ -230,10 +218,9 @@ int i_InsnConfig_InitTimer(struct comedi_device *dev,struct comedi_subdevice *s,
| -9: Selection from hardware gate level is wrong |
+----------------------------------------------------------------------------+
*/
static int i_APCI1710_InsnConfigInitTimer(struct comedi_device *dev,
struct comedi_subdevice *s,
struct comedi_insn *insn,
unsigned int *data)

int i_APCI1710_InsnConfigInitTimer(struct comedi_device *dev, struct comedi_subdevice *s,
struct comedi_insn *insn, unsigned int *data)
{
struct addi_private *devpriv = dev->private;
int i_ReturnValue = 0;
Expand Down Expand Up @@ -460,10 +447,10 @@ i_ReturnValue=insn->n;
| See function "i_APCI1710_SetBoardIntRoutineX" |
+----------------------------------------------------------------------------+
*/
static int i_APCI1710_InsnWriteEnableDisableTimer(struct comedi_device *dev,
struct comedi_subdevice *s,
struct comedi_insn *insn,
unsigned int *data)

int i_APCI1710_InsnWriteEnableDisableTimer(struct comedi_device *dev,
struct comedi_subdevice *s,
struct comedi_insn *insn, unsigned int *data)
{
struct addi_private *devpriv = dev->private;
int i_ReturnValue = 0;
Expand Down Expand Up @@ -603,10 +590,9 @@ int i_APCI1710_InsnReadAllTimerValue(struct comedi_device *dev,struct comedi_sub
| "i_APCI1710_InitTimer" |
+----------------------------------------------------------------------------+
*/
static int i_APCI1710_InsnReadAllTimerValue(struct comedi_device *dev,
struct comedi_subdevice *s,
struct comedi_insn *insn,
unsigned int *data)

int i_APCI1710_InsnReadAllTimerValue(struct comedi_device *dev, struct comedi_subdevice *s,
struct comedi_insn *insn, unsigned int *data)
{
struct addi_private *devpriv = dev->private;
int i_ReturnValue = 0;
Expand Down Expand Up @@ -682,6 +668,70 @@ static int i_APCI1710_InsnReadAllTimerValue(struct comedi_device *dev,
return i_ReturnValue;
}

/*
+----------------------------------------------------------------------------+
| Function Name :INT i_APCI1710_InsnBitsTimer(struct comedi_device *dev,
struct comedi_subdevice *s,struct comedi_insn *insn,unsigned int *data) |
+----------------------------------------------------------------------------+
| Task : Read write functions for Timer |
+----------------------------------------------------------------------------+
| Input Parameters :
+----------------------------------------------------------------------------+
| Output Parameters : - |
+----------------------------------------------------------------------------+
| Return Value :
+----------------------------------------------------------------------------+
*/

int i_APCI1710_InsnBitsTimer(struct comedi_device *dev, struct comedi_subdevice *s,
struct comedi_insn *insn, unsigned int *data)
{
unsigned char b_BitsType;
int i_ReturnValue = 0;
b_BitsType = data[0];

printk("\n82X54");

switch (b_BitsType) {
case APCI1710_TIMER_READVALUE:
i_ReturnValue = i_APCI1710_ReadTimerValue(dev,
(unsigned char)CR_AREF(insn->chanspec),
(unsigned char)CR_CHAN(insn->chanspec),
(unsigned int *) &data[0]);
break;

case APCI1710_TIMER_GETOUTPUTLEVEL:
i_ReturnValue = i_APCI1710_GetTimerOutputLevel(dev,
(unsigned char)CR_AREF(insn->chanspec),
(unsigned char)CR_CHAN(insn->chanspec),
(unsigned char *) &data[0]);
break;

case APCI1710_TIMER_GETPROGRESSSTATUS:
i_ReturnValue = i_APCI1710_GetTimerProgressStatus(dev,
(unsigned char)CR_AREF(insn->chanspec),
(unsigned char)CR_CHAN(insn->chanspec),
(unsigned char *)&data[0]);
break;

case APCI1710_TIMER_WRITEVALUE:
i_ReturnValue = i_APCI1710_WriteTimerValue(dev,
(unsigned char)CR_AREF(insn->chanspec),
(unsigned char)CR_CHAN(insn->chanspec),
(unsigned int)data[1]);

break;

default:
printk("Bits Config Parameter Wrong\n");
i_ReturnValue = -1;
}

if (i_ReturnValue >= 0)
i_ReturnValue = insn->n;
return i_ReturnValue;
}

/*
+----------------------------------------------------------------------------+
| Function Name : _INT_ i_APCI1710_ReadTimerValue |
Expand Down Expand Up @@ -711,10 +761,10 @@ static int i_APCI1710_InsnReadAllTimerValue(struct comedi_device *dev,
| "i_APCI1710_InitTimer" |
+----------------------------------------------------------------------------+
*/
static int i_APCI1710_ReadTimerValue(struct comedi_device *dev,
unsigned char b_ModulNbr,
unsigned char b_TimerNbr,
unsigned int *pul_TimerValue)

int i_APCI1710_ReadTimerValue(struct comedi_device *dev,
unsigned char b_ModulNbr, unsigned char b_TimerNbr,
unsigned int *pul_TimerValue)
{
struct addi_private *devpriv = dev->private;
int i_ReturnValue = 0;
Expand Down Expand Up @@ -800,10 +850,10 @@ static int i_APCI1710_ReadTimerValue(struct comedi_device *dev,
| "i_APCI1710_InitTimer" |
+----------------------------------------------------------------------------+
*/
static int i_APCI1710_GetTimerOutputLevel(struct comedi_device *dev,
unsigned char b_ModulNbr,
unsigned char b_TimerNbr,
unsigned char *pb_OutputLevel)

int i_APCI1710_GetTimerOutputLevel(struct comedi_device *dev,
unsigned char b_ModulNbr, unsigned char b_TimerNbr,
unsigned char *pb_OutputLevel)
{
struct addi_private *devpriv = dev->private;
int i_ReturnValue = 0;
Expand Down Expand Up @@ -880,10 +930,10 @@ static int i_APCI1710_GetTimerOutputLevel(struct comedi_device *dev,
| "i_APCI1710_InitTimer" |
+----------------------------------------------------------------------------+
*/
static int i_APCI1710_GetTimerProgressStatus(struct comedi_device *dev,
unsigned char b_ModulNbr,
unsigned char b_TimerNbr,
unsigned char *pb_TimerStatus)

int i_APCI1710_GetTimerProgressStatus(struct comedi_device *dev,
unsigned char b_ModulNbr, unsigned char b_TimerNbr,
unsigned char *pb_TimerStatus)
{
struct addi_private *devpriv = dev->private;
int i_ReturnValue = 0;
Expand Down Expand Up @@ -960,10 +1010,10 @@ static int i_APCI1710_GetTimerProgressStatus(struct comedi_device *dev,
| "i_APCI1710_InitTimer" |
+----------------------------------------------------------------------------+
*/
static int i_APCI1710_WriteTimerValue(struct comedi_device *dev,
unsigned char b_ModulNbr,
unsigned char b_TimerNbr,
unsigned int ul_WriteValue)

int i_APCI1710_WriteTimerValue(struct comedi_device *dev,
unsigned char b_ModulNbr, unsigned char b_TimerNbr,
unsigned int ul_WriteValue)
{
struct addi_private *devpriv = dev->private;
int i_ReturnValue = 0;
Expand Down Expand Up @@ -1001,68 +1051,3 @@ static int i_APCI1710_WriteTimerValue(struct comedi_device *dev,

return i_ReturnValue;
}

/*
+----------------------------------------------------------------------------+
| Function Name :INT i_APCI1710_InsnBitsTimer(struct comedi_device *dev,
struct comedi_subdevice *s,struct comedi_insn *insn,unsigned int *data) |
+----------------------------------------------------------------------------+
| Task : Read write functions for Timer |
+----------------------------------------------------------------------------+
| Input Parameters :
+----------------------------------------------------------------------------+
| Output Parameters : - |
+----------------------------------------------------------------------------+
| Return Value :
+----------------------------------------------------------------------------+
*/
static int i_APCI1710_InsnBitsTimer(struct comedi_device *dev,
struct comedi_subdevice *s,
struct comedi_insn *insn,
unsigned int *data)
{
unsigned char b_BitsType;
int i_ReturnValue = 0;
b_BitsType = data[0];

printk("\n82X54");

switch (b_BitsType) {
case APCI1710_TIMER_READVALUE:
i_ReturnValue = i_APCI1710_ReadTimerValue(dev,
(unsigned char)CR_AREF(insn->chanspec),
(unsigned char)CR_CHAN(insn->chanspec),
(unsigned int *) &data[0]);
break;

case APCI1710_TIMER_GETOUTPUTLEVEL:
i_ReturnValue = i_APCI1710_GetTimerOutputLevel(dev,
(unsigned char)CR_AREF(insn->chanspec),
(unsigned char)CR_CHAN(insn->chanspec),
(unsigned char *) &data[0]);
break;

case APCI1710_TIMER_GETPROGRESSSTATUS:
i_ReturnValue = i_APCI1710_GetTimerProgressStatus(dev,
(unsigned char)CR_AREF(insn->chanspec),
(unsigned char)CR_CHAN(insn->chanspec),
(unsigned char *)&data[0]);
break;

case APCI1710_TIMER_WRITEVALUE:
i_ReturnValue = i_APCI1710_WriteTimerValue(dev,
(unsigned char)CR_AREF(insn->chanspec),
(unsigned char)CR_CHAN(insn->chanspec),
(unsigned int)data[1]);

break;

default:
printk("Bits Config Parameter Wrong\n");
i_ReturnValue = -1;
}

if (i_ReturnValue >= 0)
i_ReturnValue = insn->n;
return i_ReturnValue;
}
73 changes: 73 additions & 0 deletions trunk/drivers/staging/comedi/drivers/addi-data/APCI1710_82x54.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,73 @@
/*
* Copyright (C) 2004,2005 ADDI-DATA GmbH for the source code of this module.
*
* ADDI-DATA GmbH
* Dieselstrasse 3
* D-77833 Ottersweier
* Tel: +19(0)7223/9493-0
* Fax: +49(0)7223/9493-92
* http://www.addi-data.com
* info@addi-data.com
*
* This program is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License as published by the Free
* Software Foundation; either version 2 of the License, or (at your option)
* any later version.
*/

#define APCI1710_PCI_BUS_CLOCK 0
#define APCI1710_FRONT_CONNECTOR_INPUT 1
#define APCI1710_TIMER_READVALUE 0
#define APCI1710_TIMER_GETOUTPUTLEVEL 1
#define APCI1710_TIMER_GETPROGRESSSTATUS 2
#define APCI1710_TIMER_WRITEVALUE 3

#define APCI1710_TIMER_READINTERRUPT 1
#define APCI1710_TIMER_READALLTIMER 2

/* BEGIN JK 27.10.03 : Add the possibility to use a 40 Mhz quartz */
#ifndef APCI1710_10MHZ
#define APCI1710_10MHZ 10
#endif
/* END JK 27.10.03 : Add the possibility to use a 40 Mhz quartz */

/*
* 82X54 TIMER INISIALISATION FUNCTION
*/
int i_APCI1710_InsnConfigInitTimer(struct comedi_device *dev, struct comedi_subdevice *s,
struct comedi_insn *insn, unsigned int *data);

int i_APCI1710_InsnWriteEnableDisableTimer(struct comedi_device *dev,
struct comedi_subdevice *s,
struct comedi_insn *insn, unsigned int *data);

/*
* 82X54 READ FUNCTION
*/
int i_APCI1710_InsnReadAllTimerValue(struct comedi_device *dev, struct comedi_subdevice *s,
struct comedi_insn *insn, unsigned int *data);

int i_APCI1710_InsnBitsTimer(struct comedi_device *dev, struct comedi_subdevice *s,
struct comedi_insn *insn, unsigned int *data);

/*
* 82X54 READ & WRITE FUNCTION
*/
int i_APCI1710_ReadTimerValue(struct comedi_device *dev,
unsigned char b_ModulNbr, unsigned char b_TimerNbr,
unsigned int *pul_TimerValue);

int i_APCI1710_GetTimerOutputLevel(struct comedi_device *dev,
unsigned char b_ModulNbr, unsigned char b_TimerNbr,
unsigned char *pb_OutputLevel);

int i_APCI1710_GetTimerProgressStatus(struct comedi_device *dev,
unsigned char b_ModulNbr, unsigned char b_TimerNbr,
unsigned char *pb_TimerStatus);

/*
* 82X54 WRITE FUNCTION
*/
int i_APCI1710_WriteTimerValue(struct comedi_device *dev,
unsigned char b_ModulNbr, unsigned char b_TimerNbr,
unsigned int ul_WriteValue);
Loading

0 comments on commit 577cc1f

Please sign in to comment.