#include <linux/module.h>
#include <linux/interrupt.h>
#include <linux/comedi/comedidev.h>
#define AIO_IIRO_16_RELAY_0_7 …
#define AIO_IIRO_16_INPUT_0_7 …
#define AIO_IIRO_16_IRQ …
#define AIO_IIRO_16_RELAY_8_15 …
#define AIO_IIRO_16_INPUT_8_15 …
#define AIO_IIRO_16_STATUS …
#define AIO_IIRO_16_STATUS_IRQE …
#define AIO_IIRO_16_STATUS_INPUT_8_15 …
#define AIO_IIRO_16_STATUS_INPUT_0_7 …
static unsigned int aio_iiro_16_read_inputs(struct comedi_device *dev)
{ … }
static irqreturn_t aio_iiro_16_cos(int irq, void *d)
{ … }
static void aio_iiro_enable_irq(struct comedi_device *dev, bool enable)
{ … }
static int aio_iiro_16_cos_cancel(struct comedi_device *dev,
struct comedi_subdevice *s)
{ … }
static int aio_iiro_16_cos_cmd(struct comedi_device *dev,
struct comedi_subdevice *s)
{ … }
static int aio_iiro_16_cos_cmdtest(struct comedi_device *dev,
struct comedi_subdevice *s,
struct comedi_cmd *cmd)
{ … }
static int aio_iiro_16_do_insn_bits(struct comedi_device *dev,
struct comedi_subdevice *s,
struct comedi_insn *insn,
unsigned int *data)
{ … }
static int aio_iiro_16_di_insn_bits(struct comedi_device *dev,
struct comedi_subdevice *s,
struct comedi_insn *insn,
unsigned int *data)
{ … }
static int aio_iiro_16_attach(struct comedi_device *dev,
struct comedi_devconfig *it)
{ … }
static struct comedi_driver aio_iiro_16_driver = …;
module_comedi_driver(…);
MODULE_AUTHOR(…) …;
MODULE_DESCRIPTION(…) …;
MODULE_LICENSE(…) …;