diff options
author | H Hartley Sweeten <hsweeten@visionengravers.com> | 2013-07-25 16:12:30 -0700 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2013-07-26 15:10:09 -0700 |
commit | 0c4349c91625188930f12382b061399827bf4da6 (patch) | |
tree | 4f60c9b05ff949c5b7ddb791d28152145af92a30 /drivers/staging/comedi/drivers/usbdux.c | |
parent | 757fbc2a782276086088e4e6237fb66dac1f41a3 (diff) | |
download | linux-0c4349c91625188930f12382b061399827bf4da6.tar.bz2 |
staging: comedi: usbdux: consolidate usbduxsub_unlink_{in, out}urbs()
These functions are identical other than the which and how many urbs
are unlinked.
Consolidate the functions into one usbdux_unlink_urbs() function.
Signed-off-by: H Hartley Sweeten <hsweeten@visionengravers.com>
Reviewed-by: 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.c | 28 |
1 files changed, 7 insertions, 21 deletions
diff --git a/drivers/staging/comedi/drivers/usbdux.c b/drivers/staging/comedi/drivers/usbdux.c index b94c655e374a..7ff731fd804a 100644 --- a/drivers/staging/comedi/drivers/usbdux.c +++ b/drivers/staging/comedi/drivers/usbdux.c @@ -229,23 +229,20 @@ struct usbdux_private { struct semaphore sem; }; -static void usbduxsub_unlink_inurbs(struct comedi_device *dev) +static void usbdux_unlink_urbs(struct urb **urbs, int num_urbs) { - struct usbdux_private *devpriv = dev->private; int i; - if (devpriv->ai_urbs) { - for (i = 0; i < devpriv->n_ai_urbs; i++) - usb_kill_urb(devpriv->ai_urbs[i]); - } + for (i = 0; i < num_urbs; i++) + usb_kill_urb(urbs[i]); } static void usbdux_ai_stop(struct comedi_device *dev, int do_unlink) { struct usbdux_private *devpriv = dev->private; - if (do_unlink) - usbduxsub_unlink_inurbs(dev); + if (do_unlink && devpriv->ai_urbs) + usbdux_unlink_urbs(devpriv->ai_urbs, devpriv->n_ai_urbs); devpriv->ai_cmd_running = 0; } @@ -389,23 +386,12 @@ static void usbduxsub_ai_isoc_irq(struct urb *urb) comedi_event(dev, s); } -static void usbduxsub_unlink_outurbs(struct comedi_device *dev) -{ - struct usbdux_private *devpriv = dev->private; - int i; - - if (devpriv->ao_urbs) { - for (i = 0; i < devpriv->n_ao_urbs; i++) - usb_kill_urb(devpriv->ao_urbs[i]); - } -} - static void usbdux_ao_stop(struct comedi_device *dev, int do_unlink) { struct usbdux_private *devpriv = dev->private; - if (do_unlink) - usbduxsub_unlink_outurbs(dev); + if (do_unlink && devpriv->ao_urbs) + usbdux_unlink_urbs(devpriv->ao_urbs, devpriv->n_ao_urbs); devpriv->ao_cmd_running = 0; } |