#include <linux/module.h>
#include <linux/comedi/comedidev.h>
#include <linux/comedi/comedi_8255.h>
#define PCM3724_8255_0_BASE …
#define PCM3724_8255_1_BASE …
#define PCM3724_DIO_DIR_REG …
#define PCM3724_DIO_DIR_C0_OUT …
#define PCM3724_DIO_DIR_B0_OUT …
#define PCM3724_DIO_DIR_A0_OUT …
#define PCM3724_DIO_DIR_C1_OUT …
#define PCM3724_DIO_DIR_B1_OUT …
#define PCM3724_DIO_DIR_A1_OUT …
#define PCM3724_GATE_CTRL_REG …
#define PCM3724_GATE_CTRL_C0_ENA …
#define PCM3724_GATE_CTRL_B0_ENA …
#define PCM3724_GATE_CTRL_A0_ENA …
#define PCM3724_GATE_CTRL_C1_ENA …
#define PCM3724_GATE_CTRL_B1_ENA …
#define PCM3724_GATE_CTRL_A1_ENA …
struct priv_pcm3724 { … };
static int compute_buffer(int config, int devno, struct comedi_subdevice *s)
{ … }
static void do_3724_config(struct comedi_device *dev,
struct comedi_subdevice *s, int chanspec)
{ … }
static void enable_chan(struct comedi_device *dev, struct comedi_subdevice *s,
int chanspec)
{ … }
static int subdev_3724_insn_config(struct comedi_device *dev,
struct comedi_subdevice *s,
struct comedi_insn *insn,
unsigned int *data)
{ … }
static int pcm3724_attach(struct comedi_device *dev,
struct comedi_devconfig *it)
{ … }
static struct comedi_driver pcm3724_driver = …;
module_comedi_driver(…);
MODULE_AUTHOR(…) …;
MODULE_DESCRIPTION(…) …;
MODULE_LICENSE(…) …;