diff options
author | H Hartley Sweeten <hsweeten@visionengravers.com> | 2013-07-24 14:13:34 -0700 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2013-07-25 13:15:36 -0700 |
commit | 5a80fa0429b7b6e3b32813614178d4be302f5ea0 (patch) | |
tree | 6d84169f85d14a75dfab9c46e0b073185800c212 /drivers/staging/comedi/drivers/usbdux.c | |
parent | staging: comedi: usbdux: tidy up usbduxsub_submit_outurbs() (diff) | |
download | linux-dev-5a80fa0429b7b6e3b32813614178d4be302f5ea0.tar.xz linux-dev-5a80fa0429b7b6e3b32813614178d4be302f5ea0.zip |
staging: comedi: usbdux: tidy up usbduxsub_submit_pwm_urbs()
Pass the comedi_device pointer (the urb context) to this function
instead of the private data pointer.
Use a local variable for the urb pointer that is setup and submitted.
Remove the sanity check of the private data. This function can only
get called if the allocation was successful 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.c | 29 |
1 files changed, 12 insertions, 17 deletions
diff --git a/drivers/staging/comedi/drivers/usbdux.c b/drivers/staging/comedi/drivers/usbdux.c index 7304ef0e2ded..ad537ed5fc40 100644 --- a/drivers/staging/comedi/drivers/usbdux.c +++ b/drivers/staging/comedi/drivers/usbdux.c @@ -1546,25 +1546,20 @@ static void usbduxsub_pwm_irq(struct urb *urb) } } -static int usbduxsub_submit_pwm_urbs(struct usbdux_private *usbduxsub) +static int usbduxsub_submit_pwm_urbs(struct comedi_device *dev) { - int err_flag; - - if (!usbduxsub) - return -EFAULT; + struct usbdux_private *devpriv = dev->private; + struct urb *urb = devpriv->urb_pwm; /* in case of a resubmission after an unlink... */ - usb_fill_bulk_urb(usbduxsub->urb_pwm, - usbduxsub->usbdev, - usb_sndbulkpipe(usbduxsub->usbdev, PWM_EP), - usbduxsub->urb_pwm->transfer_buffer, - usbduxsub->size_pwm_buf, usbduxsub_pwm_irq, - usbduxsub->comedidev); - - err_flag = usb_submit_urb(usbduxsub->urb_pwm, GFP_ATOMIC); - if (err_flag) - return err_flag; - return 0; + usb_fill_bulk_urb(urb, devpriv->usbdev, + usb_sndbulkpipe(devpriv->usbdev, PWM_EP), + urb->transfer_buffer, + devpriv->size_pwm_buf, + usbduxsub_pwm_irq, + dev); + + return usb_submit_urb(urb, GFP_ATOMIC); } static int usbdux_pwm_period(struct comedi_device *dev, @@ -1608,7 +1603,7 @@ static int usbdux_pwm_start(struct comedi_device *dev, ((char *)(this_usbduxsub->urb_pwm->transfer_buffer))[i] = 0; this_usbduxsub->pwm_cmd_running = 1; - ret = usbduxsub_submit_pwm_urbs(this_usbduxsub); + ret = usbduxsub_submit_pwm_urbs(dev); if (ret < 0) { this_usbduxsub->pwm_cmd_running = 0; return ret; |