aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/staging/comedi/drivers/usbdux.c
diff options
context:
space:
mode:
authorH Hartley Sweeten <hsweeten@visionengravers.com>2013-07-24 14:17:23 -0700
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2013-07-25 13:15:37 -0700
commitb3476e67c1afa634437a429673b75e735dcfbd6a (patch)
treed0d5d6cbfefd0c9b3e04be820b6d5ce81bc092ad /drivers/staging/comedi/drivers/usbdux.c
parentstaging: comedi: usbdux: make private data flags bit-fields (diff)
downloadlinux-dev-b3476e67c1afa634437a429673b75e735dcfbd6a.tar.xz
linux-dev-b3476e67c1afa634437a429673b75e735dcfbd6a.zip
staging: comedi: usbdux: tidy up usbdux_ai_stop()
For aesthetic reasons, pass the comedi_device pointer to this function instead of the private data pointer. Rename the local variable used for the private data pointer to the comedi "norm". Remove the unnecessary sanity check of the private data pointer. This function can only be called is the private data was allocated during the attach. Signed-off-by: H Hartley Sweeten <hsweeten@visionengravers.com> Cc: Ian Abbott <abbotti@mev.co.uk> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers/staging/comedi/drivers/usbdux.c')
-rw-r--r--drivers/staging/comedi/drivers/usbdux.c31
1 files changed, 11 insertions, 20 deletions
diff --git a/drivers/staging/comedi/drivers/usbdux.c b/drivers/staging/comedi/drivers/usbdux.c
index 0434674121e8..c195ec6f8fb5 100644
--- a/drivers/staging/comedi/drivers/usbdux.c
+++ b/drivers/staging/comedi/drivers/usbdux.c
@@ -270,24 +270,15 @@ static int usbduxsub_unlink_inurbs(struct usbdux_private *usbduxsub_tmp)
return err;
}
-/*
- * This will stop a running acquisition operation
- * Is called from within this driver from both the
- * interrupt context and from comedi
- */
-static int usbdux_ai_stop(struct usbdux_private *this_usbduxsub, int do_unlink)
+static int usbdux_ai_stop(struct comedi_device *dev, int do_unlink)
{
+ struct usbdux_private *devpriv = dev->private;
int ret = 0;
- if (!this_usbduxsub)
- return -EFAULT;
-
- if (do_unlink) {
- /* stop aquistion */
- ret = usbduxsub_unlink_inurbs(this_usbduxsub);
- }
+ if (do_unlink)
+ ret = usbduxsub_unlink_inurbs(devpriv);
- this_usbduxsub->ai_cmd_running = 0;
+ devpriv->ai_cmd_running = 0;
return ret;
}
@@ -310,7 +301,7 @@ static int usbdux_ai_cancel(struct comedi_device *dev,
/* prevent other CPUs from submitting new commands just now */
down(&this_usbduxsub->sem);
/* unlink only if the urb really has been submitted */
- res = usbdux_ai_stop(this_usbduxsub, this_usbduxsub->ai_cmd_running);
+ res = usbdux_ai_stop(dev, this_usbduxsub->ai_cmd_running);
up(&this_usbduxsub->sem);
return res;
}
@@ -346,7 +337,7 @@ static void usbduxsub_ai_isoc_irq(struct urb *urb)
s->async->events |= COMEDI_CB_ERROR;
comedi_event(dev, s);
/* stop the transfer w/o unlink */
- usbdux_ai_stop(devpriv, 0);
+ usbdux_ai_stop(dev, 0);
}
return;
@@ -361,7 +352,7 @@ static void usbduxsub_ai_isoc_irq(struct urb *urb)
s->async->events |= COMEDI_CB_ERROR;
comedi_event(dev, s);
/* don't do an unlink here */
- usbdux_ai_stop(devpriv, 0);
+ usbdux_ai_stop(dev, 0);
}
return;
}
@@ -392,7 +383,7 @@ static void usbduxsub_ai_isoc_irq(struct urb *urb)
s->async->events |= COMEDI_CB_ERROR;
comedi_event(dev, s);
/* don't do an unlink here */
- usbdux_ai_stop(devpriv, 0);
+ usbdux_ai_stop(dev, 0);
return;
}
@@ -410,7 +401,7 @@ static void usbduxsub_ai_isoc_irq(struct urb *urb)
/* all samples received? */
if (devpriv->ai_sample_count < 0) {
/* prevent a resubmit next time */
- usbdux_ai_stop(devpriv, 0);
+ usbdux_ai_stop(dev, 0);
/* say comedi that the acquistion is over */
s->async->events |= COMEDI_CB_EOA;
comedi_event(dev, s);
@@ -430,7 +421,7 @@ static void usbduxsub_ai_isoc_irq(struct urb *urb)
}
if (unlikely(err == 0)) {
/* buffer overflow */
- usbdux_ai_stop(devpriv, 0);
+ usbdux_ai_stop(dev, 0);
return;
}
}