#include <linux/module.h>
#include <linux/errno.h>
#include <linux/kernel.h>
#include <linux/sched.h>
#include <linux/fcntl.h>
#include <linux/mm.h>
#include <linux/io.h>
#include <linux/comedi.h>
#include <linux/comedi/comedidev.h>
#include <linux/comedi/comedilib.h>
MODULE_AUTHOR(…) …;
MODULE_DESCRIPTION(…) …;
MODULE_LICENSE(…) …;
struct comedi_device *comedi_open(const char *filename)
{ … }
EXPORT_SYMBOL_GPL(…);
int comedi_close(struct comedi_device *dev)
{ … }
EXPORT_SYMBOL_GPL(…);
static int comedi_do_insn(struct comedi_device *dev,
struct comedi_insn *insn,
unsigned int *data)
{ … }
int comedi_dio_get_config(struct comedi_device *dev, unsigned int subdev,
unsigned int chan, unsigned int *io)
{ … }
EXPORT_SYMBOL_GPL(…);
int comedi_dio_config(struct comedi_device *dev, unsigned int subdev,
unsigned int chan, unsigned int io)
{ … }
EXPORT_SYMBOL_GPL(…);
int comedi_dio_bitfield2(struct comedi_device *dev, unsigned int subdev,
unsigned int mask, unsigned int *bits,
unsigned int base_channel)
{ … }
EXPORT_SYMBOL_GPL(…);
int comedi_find_subdevice_by_type(struct comedi_device *dev, int type,
unsigned int subd)
{ … }
EXPORT_SYMBOL_GPL(…);
int comedi_get_n_channels(struct comedi_device *dev, unsigned int subdevice)
{ … }
EXPORT_SYMBOL_GPL(…);
static int __init kcomedilib_module_init(void)
{ … }
static void __exit kcomedilib_module_exit(void)
{ … }
module_init(…) …;
module_exit(kcomedilib_module_exit);