#define DAQBOARD2000_CPLD_DONE 0x0004
// Available ranges
-static const comedi_lrange range_daqboard2000_ai = { 13, {
+static const struct comedi_lrange range_daqboard2000_ai = { 13, {
RANGE(-10, 10),
RANGE(-5, 5),
RANGE(-2.5, 2.5),
}
};
-static const comedi_lrange range_daqboard2000_ao = { 1, {
+static const struct comedi_lrange range_daqboard2000_ao = { 1, {
RANGE(-10, 10)
}
};
-typedef struct daqboard2000_hw {
+struct daqboard2000_hw {
volatile u16 acqControl; // 0x00
volatile u16 acqScanListFIFO; // 0x02
volatile u32 acqPacerClockDivLow; // 0x04
volatile u16 trigDacs; // 0xbc
volatile u16 fill14; // 0xbe
volatile s16 dioP2ExpansionIO16Bit[32]; // 0xc0
-} daqboard2000_hw;
+};
/* Scan Sequencer programming */
#define DAQBOARD2000_SeqStartScanList 0x0011
#define DAQBOARD2000_PosRefDacSelect 0x0100
#define DAQBOARD2000_NegRefDacSelect 0x0000
-static int daqboard2000_attach(comedi_device * dev, comedi_devconfig * it);
-static int daqboard2000_detach(comedi_device * dev);
+static int daqboard2000_attach(struct comedi_device * dev, struct comedi_devconfig * it);
+static int daqboard2000_detach(struct comedi_device * dev);
-static comedi_driver driver_daqboard2000 = {
+static struct comedi_driver driver_daqboard2000 = {
driver_name:"daqboard2000",
module:THIS_MODULE,
attach:daqboard2000_attach,
detach:daqboard2000_detach,
};
-typedef struct {
+struct daq200_boardtype {
const char *name;
int id;
-} boardtype;
-static const boardtype boardtypes[] = {
+};
+static const struct daq200_boardtype boardtypes[] = {
{"ids2", DAQBOARD2000_SUBSYSTEM_IDS2},
{"ids4", DAQBOARD2000_SUBSYSTEM_IDS4},
};
-#define n_boardtypes (sizeof(boardtypes)/sizeof(boardtype))
-#define this_board ((const boardtype *)dev->board_ptr)
+#define n_boardtypes (sizeof(boardtypes)/sizeof(struct daq200_boardtype))
+#define this_board ((const struct daq200_boardtype *)dev->board_ptr)
static DEFINE_PCI_DEVICE_TABLE(daqboard2000_pci_table) = {
{0x1616, 0x0409, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0},
MODULE_DEVICE_TABLE(pci, daqboard2000_pci_table);
-typedef struct {
+struct daqboard2000_private {
enum {
card_daqboard_2000
} card;
void *plx;
int got_regions;
unsigned int ao_readback[2];
-} daqboard2000_private;
+};
-#define devpriv ((daqboard2000_private*)dev->private)
+#define devpriv ((struct daqboard2000_private *)dev->private)
-static void writeAcqScanListEntry(comedi_device * dev, u16 entry)
+static void writeAcqScanListEntry(struct comedi_device * dev, u16 entry)
{
- daqboard2000_hw *fpga = devpriv->daq;
+ struct daqboard2000_hw *fpga = devpriv->daq;
// comedi_udelay(4);
fpga->acqScanListFIFO = entry & 0x00ff;
fpga->acqScanListFIFO = (entry >> 8) & 0x00ff;
}
-static void setup_sampling(comedi_device * dev, int chan, int gain)
+static void setup_sampling(struct comedi_device * dev, int chan, int gain)
{
u16 word0, word1, word2, word3;
writeAcqScanListEntry(dev, word3);
}
-static int daqboard2000_ai_insn_read(comedi_device * dev, comedi_subdevice * s,
- comedi_insn * insn, unsigned int * data)
+static int daqboard2000_ai_insn_read(struct comedi_device * dev, struct comedi_subdevice * s,
+ struct comedi_insn * insn, unsigned int * data)
{
int i;
- daqboard2000_hw *fpga = devpriv->daq;
+ struct daqboard2000_hw *fpga = devpriv->daq;
int gain, chan, timeout;
fpga->acqControl =
return i;
}
-static int daqboard2000_ao_insn_read(comedi_device * dev, comedi_subdevice * s,
- comedi_insn * insn, unsigned int * data)
+static int daqboard2000_ao_insn_read(struct comedi_device * dev, struct comedi_subdevice * s,
+ struct comedi_insn * insn, unsigned int * data)
{
int i;
int chan = CR_CHAN(insn->chanspec);
return i;
}
-static int daqboard2000_ao_insn_write(comedi_device * dev, comedi_subdevice * s,
- comedi_insn * insn, unsigned int * data)
+static int daqboard2000_ao_insn_write(struct comedi_device * dev, struct comedi_subdevice * s,
+ struct comedi_insn * insn, unsigned int * data)
{
int i;
int chan = CR_CHAN(insn->chanspec);
- daqboard2000_hw *fpga = devpriv->daq;
+ struct daqboard2000_hw *fpga = devpriv->daq;
int timeout;
for (i = 0; i < insn->n; i++) {
return i;
}
-static void daqboard2000_resetLocalBus(comedi_device * dev)
+static void daqboard2000_resetLocalBus(struct comedi_device * dev)
{
printk("daqboard2000_resetLocalBus\n");
writel(DAQBOARD2000_SECRLocalBusHi, devpriv->plx + 0x6c);
comedi_udelay(10000);
}
-static void daqboard2000_reloadPLX(comedi_device * dev)
+static void daqboard2000_reloadPLX(struct comedi_device * dev)
{
printk("daqboard2000_reloadPLX\n");
writel(DAQBOARD2000_SECRReloadLo, devpriv->plx + 0x6c);
comedi_udelay(10000);
}
-static void daqboard2000_pulseProgPin(comedi_device * dev)
+static void daqboard2000_pulseProgPin(struct comedi_device * dev)
{
printk("daqboard2000_pulseProgPin 1\n");
writel(DAQBOARD2000_SECRProgPinHi, devpriv->plx + 0x6c);
comedi_udelay(10000); /* Not in the original code, but I like symmetry... */
}
-static int daqboard2000_pollCPLD(comedi_device * dev, int mask)
+static int daqboard2000_pollCPLD(struct comedi_device * dev, int mask)
{
int result = 0;
int i;
return result;
}
-static int daqboard2000_writeCPLD(comedi_device * dev, int data)
+static int daqboard2000_writeCPLD(struct comedi_device * dev, int data)
{
int result = 0;
return result;
}
-static int initialize_daqboard2000(comedi_device * dev,
+static int initialize_daqboard2000(struct comedi_device * dev,
unsigned char *cpld_array, int len)
{
int result = -EIO;
return result;
}
-static void daqboard2000_adcStopDmaTransfer(comedi_device * dev)
+static void daqboard2000_adcStopDmaTransfer(struct comedi_device * dev)
{
/* printk("Implement: daqboard2000_adcStopDmaTransfer\n");*/
}
-static void daqboard2000_adcDisarm(comedi_device * dev)
+static void daqboard2000_adcDisarm(struct comedi_device * dev)
{
- daqboard2000_hw *fpga = devpriv->daq;
+ struct daqboard2000_hw *fpga = devpriv->daq;
/* Disable hardware triggers */
comedi_udelay(2);
daqboard2000_adcStopDmaTransfer(dev);
}
-static void daqboard2000_activateReferenceDacs(comedi_device * dev)
+static void daqboard2000_activateReferenceDacs(struct comedi_device * dev)
{
- daqboard2000_hw *fpga = devpriv->daq;
+ struct daqboard2000_hw *fpga = devpriv->daq;
int timeout;
// Set the + reference dac value in the FPGA
/* printk("DAQBOARD2000_NegRefDacSelect %d\n", timeout);*/
}
-static void daqboard2000_initializeCtrs(comedi_device * dev)
+static void daqboard2000_initializeCtrs(struct comedi_device * dev)
{
/* printk("Implement: daqboard2000_initializeCtrs\n");*/
}
-static void daqboard2000_initializeTmrs(comedi_device * dev)
+static void daqboard2000_initializeTmrs(struct comedi_device * dev)
{
/* printk("Implement: daqboard2000_initializeTmrs\n");*/
}
-static void daqboard2000_dacDisarm(comedi_device * dev)
+static void daqboard2000_dacDisarm(struct comedi_device * dev)
{
/* printk("Implement: daqboard2000_dacDisarm\n");*/
}
-static void daqboard2000_initializeAdc(comedi_device * dev)
+static void daqboard2000_initializeAdc(struct comedi_device * dev)
{
daqboard2000_adcDisarm(dev);
daqboard2000_activateReferenceDacs(dev);
daqboard2000_initializeTmrs(dev);
}
-static void daqboard2000_initializeDac(comedi_device * dev)
+static void daqboard2000_initializeDac(struct comedi_device * dev)
{
daqboard2000_dacDisarm(dev);
}
return result;
}
-static int daqboard2000_attach(comedi_device * dev, comedi_devconfig * it)
+static int daqboard2000_attach(struct comedi_device * dev, struct comedi_devconfig * it)
{
int result = 0;
- comedi_subdevice *s;
+ struct comedi_subdevice *s;
struct pci_dev *card = NULL;
void *aux_data;
unsigned int aux_len;
bus = it->options[0];
slot = it->options[1];
- result = alloc_private(dev, sizeof(daqboard2000_private));
+ result = alloc_private(dev, sizeof(struct daqboard2000_private));
if (result < 0) {
return -ENOMEM;
}
return result;
}
-static int daqboard2000_detach(comedi_device * dev)
+static int daqboard2000_detach(struct comedi_device * dev)
{
printk("comedi%d: daqboard2000: remove\n", dev->minor);