linux/drivers/comedi/drivers/pcl711.c

// SPDX-License-Identifier: GPL-2.0+
/*
 * pcl711.c
 * Comedi driver for PC-LabCard PCL-711 and AdSys ACL-8112 and compatibles
 * Copyright (C) 1998 David A. Schleef <[email protected]>
 *		      Janne Jalkanen <[email protected]>
 *		      Eric Bunn <[email protected]>
 *
 * COMEDI - Linux Control and Measurement Device Interface
 * Copyright (C) 1998 David A. Schleef <[email protected]>
 */

/*
 * Driver: pcl711
 * Description: Advantech PCL-711 and 711b, ADLink ACL-8112
 * Devices: [Advantech] PCL-711 (pcl711), PCL-711B (pcl711b),
 *   [ADLink] ACL-8112HG (acl8112hg), ACL-8112DG (acl8112dg)
 * Author: David A. Schleef <[email protected]>
 *	   Janne Jalkanen <[email protected]>
 *	   Eric Bunn <[email protected]>
 * Updated:
 * Status: mostly complete
 *
 * Configuration Options:
 *   [0] - I/O port base
 *   [1] - IRQ, optional
 */

#include <linux/module.h>
#include <linux/delay.h>
#include <linux/interrupt.h>
#include <linux/comedi/comedidev.h>
#include <linux/comedi/comedi_8254.h>

/*
 * I/O port register map
 */
#define PCL711_TIMER_BASE
#define PCL711_AI_LSB_REG
#define PCL711_AI_MSB_REG
#define PCL711_AI_MSB_DRDY
#define PCL711_AO_LSB_REG(x)
#define PCL711_AO_MSB_REG(x)
#define PCL711_DI_LSB_REG
#define PCL711_DI_MSB_REG
#define PCL711_INT_STAT_REG
#define PCL711_INT_STAT_CLR
#define PCL711_AI_GAIN_REG
#define PCL711_AI_GAIN(x)
#define PCL711_MUX_REG
#define PCL711_MUX_CHAN(x)
#define PCL711_MUX_CS0
#define PCL711_MUX_CS1
#define PCL711_MUX_DIFF
#define PCL711_MODE_REG
#define PCL711_MODE(x)
#define PCL711_MODE_DEFAULT
#define PCL711_MODE_SOFTTRIG
#define PCL711_MODE_EXT
#define PCL711_MODE_EXT_IRQ
#define PCL711_MODE_PACER
#define PCL711_MODE_PACER_IRQ
#define PCL711_MODE_IRQ(x)
#define PCL711_SOFTTRIG_REG
#define PCL711_SOFTTRIG
#define PCL711_DO_LSB_REG
#define PCL711_DO_MSB_REG

static const struct comedi_lrange range_pcl711b_ai =;

static const struct comedi_lrange range_acl8112hg_ai =;

static const struct comedi_lrange range_acl8112dg_ai =;

struct pcl711_board {};

static const struct pcl711_board boardtypes[] =;

static void pcl711_ai_set_mode(struct comedi_device *dev, unsigned int mode)
{}

static unsigned int pcl711_ai_get_sample(struct comedi_device *dev,
					 struct comedi_subdevice *s)
{}

static int pcl711_ai_cancel(struct comedi_device *dev,
			    struct comedi_subdevice *s)
{}

static irqreturn_t pcl711_interrupt(int irq, void *d)
{}

static void pcl711_set_changain(struct comedi_device *dev,
				struct comedi_subdevice *s,
				unsigned int chanspec)
{}

static int pcl711_ai_eoc(struct comedi_device *dev,
			 struct comedi_subdevice *s,
			 struct comedi_insn *insn,
			 unsigned long context)
{}

static int pcl711_ai_insn_read(struct comedi_device *dev,
			       struct comedi_subdevice *s,
			       struct comedi_insn *insn,
			       unsigned int *data)
{}

static int pcl711_ai_cmdtest(struct comedi_device *dev,
			     struct comedi_subdevice *s, struct comedi_cmd *cmd)
{}

static int pcl711_ai_cmd(struct comedi_device *dev, struct comedi_subdevice *s)
{}

static void pcl711_ao_write(struct comedi_device *dev,
			    unsigned int chan, unsigned int val)
{}

static int pcl711_ao_insn_write(struct comedi_device *dev,
				struct comedi_subdevice *s,
				struct comedi_insn *insn,
				unsigned int *data)
{}

static int pcl711_di_insn_bits(struct comedi_device *dev,
			       struct comedi_subdevice *s,
			       struct comedi_insn *insn,
			       unsigned int *data)
{}

static int pcl711_do_insn_bits(struct comedi_device *dev,
			       struct comedi_subdevice *s,
			       struct comedi_insn *insn,
			       unsigned int *data)
{}

static int pcl711_attach(struct comedi_device *dev, struct comedi_devconfig *it)
{}

static struct comedi_driver pcl711_driver =;
module_comedi_driver();

MODULE_AUTHOR();
MODULE_DESCRIPTION();
MODULE_LICENSE();