#include <linux/kernel.h>
#include <linux/module.h>
#include <linux/slab.h>
#include <linux/input.h>
#include <linux/fcntl.h>
#include <linux/compiler.h>
#include <linux/comedi/comedi_usb.h>
#define EZTIMEOUT …
#define FIRMWARE …
#define FIRMWARE_MAX_LEN …
#define USBDUXFASTSUB_FIRMWARE …
#define VENDOR_DIR_IN …
#define VENDOR_DIR_OUT …
#define USBDUXFASTSUB_CPUCS …
#define TB_LEN …
#define BULKINEP …
#define CHANNELLISTEP …
#define NUMCHANNELS …
#define WAVESIZE …
#define SIZEADIN …
#define SIZEINBUF …
#define SIZEINSNBUF …
#define SIZEOFDUXBUF …
#define NUMOFINBUFFERSHIGH …
#define MIN_SAMPLING_PERIOD …
#define MAX_SAMPLING_PERIOD …
#define PACKETS_TO_IGNORE …
static const struct comedi_lrange range_usbduxfast_ai_range = …;
struct usbduxfast_private { … };
#define SENDADCOMMANDS …
#define SENDINITEP6 …
static int usbduxfast_send_cmd(struct comedi_device *dev, int cmd_type)
{ … }
static void usbduxfast_cmd_data(struct comedi_device *dev, int index,
u8 len, u8 op, u8 out, u8 log)
{ … }
static int usbduxfast_ai_stop(struct comedi_device *dev, int do_unlink)
{ … }
static int usbduxfast_ai_cancel(struct comedi_device *dev,
struct comedi_subdevice *s)
{ … }
static void usbduxfast_ai_handle_urb(struct comedi_device *dev,
struct comedi_subdevice *s,
struct urb *urb)
{ … }
static void usbduxfast_ai_interrupt(struct urb *urb)
{ … }
static int usbduxfast_submit_urb(struct comedi_device *dev)
{ … }
static int usbduxfast_ai_check_chanlist(struct comedi_device *dev,
struct comedi_subdevice *s,
struct comedi_cmd *cmd)
{ … }
static int usbduxfast_ai_cmdtest(struct comedi_device *dev,
struct comedi_subdevice *s,
struct comedi_cmd *cmd)
{ … }
static int usbduxfast_ai_inttrig(struct comedi_device *dev,
struct comedi_subdevice *s,
unsigned int trig_num)
{ … }
static int usbduxfast_ai_cmd(struct comedi_device *dev,
struct comedi_subdevice *s)
{ … }
static int usbduxfast_ai_insn_read(struct comedi_device *dev,
struct comedi_subdevice *s,
struct comedi_insn *insn,
unsigned int *data)
{ … }
static int usbduxfast_upload_firmware(struct comedi_device *dev,
const u8 *data, size_t size,
unsigned long context)
{ … }
static int usbduxfast_auto_attach(struct comedi_device *dev,
unsigned long context_unused)
{ … }
static void usbduxfast_detach(struct comedi_device *dev)
{ … }
static struct comedi_driver usbduxfast_driver = …;
static int usbduxfast_usb_probe(struct usb_interface *intf,
const struct usb_device_id *id)
{ … }
static const struct usb_device_id usbduxfast_usb_table[] = …;
MODULE_DEVICE_TABLE(usb, usbduxfast_usb_table);
static struct usb_driver usbduxfast_usb_driver = …;
module_comedi_usb_driver(…);
MODULE_AUTHOR(…) …;
MODULE_DESCRIPTION(…) …;
MODULE_LICENSE(…) …;
MODULE_FIRMWARE(…);