Staging: comedi: Remove comedi_lrange typedef
[linux-2.6-block.git] / drivers / staging / comedi / drivers / usbduxfast.c
index b1a7cbec731d20af412b6c95e6a57ffebe54986d..a5e93ac066bbc7c7f727fbeab1c7a2d550effca9 100644 (file)
 /*
  * 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) }
 };
 
@@ -179,7 +179,7 @@ struct usbduxfastsub_s {
        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 */
@@ -284,7 +284,7 @@ static int usbduxfast_ai_stop(struct usbduxfastsub_s *udfs,
  * 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;
@@ -318,8 +318,8 @@ static void usbduxfastsub_ai_Irq(struct urb *urb PT_REGS_ARG)
 {
        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? */
@@ -498,8 +498,7 @@ static int usbduxfastsub_upload(struct usbduxfastsub_s *udfs,
        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
@@ -578,8 +577,8 @@ int usbduxfastsub_submit_InURBs(struct usbduxfastsub_s *udfs)
        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;
@@ -720,8 +719,8 @@ static int usbduxfast_ai_cmdtest(comedi_device *dev,
 
 }
 
-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;
@@ -772,7 +771,7 @@ static int usbduxfast_ai_inttrig(comedi_device *dev,
 #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;
@@ -1231,8 +1230,8 @@ static int usbduxfast_ai_cmd(comedi_device *dev, comedi_subdevice *s)
 /*
  * 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;
@@ -1716,12 +1715,12 @@ static void usbduxfastsub_disconnect(struct usb_interface *intf)
 /*
  * 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);
@@ -1767,6 +1766,7 @@ static int usbduxfast_attach(comedi_device *dev, comedi_devconfig *it)
        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;
        }
@@ -1813,7 +1813,7 @@ static int usbduxfast_attach(comedi_device *dev, comedi_devconfig *it)
        return 0;
 }
 
-static int usbduxfast_detach(comedi_device *dev)
+static int usbduxfast_detach(struct comedi_device *dev)
 {
        struct usbduxfastsub_s *udfs;
 
@@ -1856,33 +1856,13 @@ static int usbduxfast_detach(comedi_device *dev)
 /*
  * 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
  */
@@ -1916,7 +1896,6 @@ static int __init init_usbduxfast(void)
 {
        printk(KERN_INFO
               KBUILD_MODNAME ": " DRIVER_VERSION ":" DRIVER_DESC "\n");
-       init_usb_devices();
        usb_register(&usbduxfastsub_driver);
        comedi_driver_register(&driver_usbduxfast);
        return 0;