/*
* comedi constants
*/
-static const comedi_lrange range_usbduxfast_ai_range = {
+static const struct comedi_lrange range_usbduxfast_ai_range = {
2, { BIP_RANGE(0.75), BIP_RANGE(0.5) }
};
int16_t *insnBuffer; /* input buffer for single insn */
int ifnum; /* interface number */
struct usb_interface *interface; /* interface structure */
- comedi_device *comedidev; /* comedi device for the interrupt
+ struct comedi_device *comedidev; /* comedi device for the interrupt
context */
short int ai_cmd_running; /* asynchronous command is running */
short int ai_continous; /* continous aquisition */
* This will cancel a running acquisition operation.
* This is called by comedi but never from inside the driver.
*/
-static int usbduxfast_ai_cancel(comedi_device *dev, comedi_subdevice *s)
+static int usbduxfast_ai_cancel(struct comedi_device *dev, struct comedi_subdevice *s)
{
struct usbduxfastsub_s *udfs;
int ret;
{
int n, err;
struct usbduxfastsub_s *udfs;
- comedi_device *this_comedidev;
- comedi_subdevice *s;
+ struct comedi_device *this_comedidev;
+ struct comedi_subdevice *s;
uint16_t *p;
/* sanity checks - is the urb there? */
int ret;
#ifdef CONFIG_COMEDI_DEBUG
- printk(KERN_DEBUG "comedi%d: usbduxfast: uploading %d bytes",
- udfs->comedidev->minor, len);
+ printk(KERN_DEBUG "comedi: usbduxfast: uploading %d bytes", len);
printk(KERN_DEBUG " to addr %d, first byte=%d.\n",
startAddr, local_transfer_buffer[0]);
#endif
return 0;
}
-static int usbduxfast_ai_cmdtest(comedi_device *dev,
- comedi_subdevice *s, comedi_cmd *cmd)
+static int usbduxfast_ai_cmdtest(struct comedi_device *dev,
+ struct comedi_subdevice *s, comedi_cmd *cmd)
{
int err = 0, stop_mask = 0;
long int steps, tmp;
}
-static int usbduxfast_ai_inttrig(comedi_device *dev,
- comedi_subdevice *s, unsigned int trignum)
+static int usbduxfast_ai_inttrig(struct comedi_device *dev,
+ struct comedi_subdevice *s, unsigned int trignum)
{
int ret;
struct usbduxfastsub_s *udfs = dev->private;
#define OUTBASE (1+0x10)
#define LOGBASE (1+0x18)
-static int usbduxfast_ai_cmd(comedi_device *dev, comedi_subdevice *s)
+static int usbduxfast_ai_cmd(struct comedi_device *dev, struct comedi_subdevice *s)
{
comedi_cmd *cmd = &s->async->cmd;
unsigned int chan, gain, rngmask = 0xff;
/*
* Mode 0 is used to get a single conversion on demand.
*/
-static int usbduxfast_ai_insn_read(comedi_device *dev,
- comedi_subdevice *s, comedi_insn *insn, lsampl_t *data)
+static int usbduxfast_ai_insn_read(struct comedi_device *dev,
+ struct comedi_subdevice *s, comedi_insn *insn, unsigned int *data)
{
int i, j, n, actual_length;
int chan, range, rngmask;
/*
* is called when comedi-config is called
*/
-static int usbduxfast_attach(comedi_device *dev, comedi_devconfig *it)
+static int usbduxfast_attach(struct comedi_device *dev, comedi_devconfig *it)
{
int ret;
int index;
int i;
- comedi_subdevice *s = NULL;
+ struct comedi_subdevice *s = NULL;
dev->private = NULL;
down(&start_stop_sem);
if (ret < 0) {
printk(KERN_ERR "comedi%d: usbduxfast: error alloc space for "
"subdev\n", dev->minor);
+ up(&(usbduxfastsub[index].sem));
up(&start_stop_sem);
return ret;
}
return 0;
}
-static int usbduxfast_detach(comedi_device *dev)
+static int usbduxfast_detach(struct comedi_device *dev)
{
struct usbduxfastsub_s *udfs;
/*
* main driver struct
*/
-static comedi_driver driver_usbduxfast = {
+static struct comedi_driver driver_usbduxfast = {
.driver_name = "usbduxfast",
.module = THIS_MODULE,
.attach = usbduxfast_attach,
.detach = usbduxfast_detach
};
-static void __init init_usb_devices(void)
-{
- int index;
-
-#ifdef CONFIG_COMEDI_DEBUG
- printk(KERN_DEBUG "comedi_: usbduxfast: setting all possible devs to "
- "invalid\n");
-#endif
- /*
- * all devices entries are invalid to begin with
- * they will become valid by the probe function
- * and then finally by the attach-function
- */
- for (index = 0; index < NUMUSBDUXFAST; index++) {
- memset(&(usbduxfastsub[index]), 0x00,
- sizeof(usbduxfastsub[index]));
- init_MUTEX(&(usbduxfastsub[index].sem));
- }
-}
-
/*
* Table with the USB-devices: just now only testing IDs
*/
{
printk(KERN_INFO
KBUILD_MODNAME ": " DRIVER_VERSION ":" DRIVER_DESC "\n");
- init_usb_devices();
usb_register(&usbduxfastsub_driver);
comedi_driver_register(&driver_usbduxfast);
return 0;