staging: comedi: usbduxsigma: return void from usbduxsigma_pwm_pattern()
authorH Hartley Sweeten <hsweeten@visionengravers.com>
Tue, 30 Jul 2013 00:46:07 +0000 (17:46 -0700)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 1 Aug 2013 00:44:57 +0000 (17:44 -0700)
This function never fails and currently returns '1' so that the
usbduxsigma_pwm_write() function returns to proper value (insn->n).

It's also called by usbduxsigma_pwm_config() which also returns the
'1' value. The proper return code for this function should be '0' to
indicate success.

Change the return type of the function to void and just have the
callers return the proper values.

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>
drivers/staging/comedi/drivers/usbduxsigma.c

index ca6d9528f8cbe4ea3f79b7c7b6d82987b6848c0d..660eec28540f35b15dc11358f4325a8aa8d3e971 100644 (file)
@@ -1238,11 +1238,11 @@ static int usbduxsigma_pwm_start(struct comedi_device *dev,
        return 0;
 }
 
-static int usbduxsigma_pwm_pattern(struct comedi_device *dev,
-                                  struct comedi_subdevice *s,
-                                  unsigned int chan,
-                                  unsigned int value,
-                                  unsigned int sign)
+static void usbduxsigma_pwm_pattern(struct comedi_device *dev,
+                                   struct comedi_subdevice *s,
+                                   unsigned int chan,
+                                   unsigned int value,
+                                   unsigned int sign)
 {
        struct usbduxsigma_private *devpriv = dev->private;
        char pwm_mask = (1 << chan);    /* DIO bit for the PWM data */
@@ -1263,7 +1263,6 @@ static int usbduxsigma_pwm_pattern(struct comedi_device *dev,
                        c |= sgn_mask;
                *buf++ = c;
        }
-       return 1;
 }
 
 static int usbduxsigma_pwm_write(struct comedi_device *dev,
@@ -1284,7 +1283,9 @@ static int usbduxsigma_pwm_write(struct comedi_device *dev,
         * The sign is set via a special INSN only, this gives us 8 bits
         * for normal operation, sign is 0 by default.
         */
-       return usbduxsigma_pwm_pattern(dev, s, chan, data[0], 0);
+       usbduxsigma_pwm_pattern(dev, s, chan, data[0], 0);
+
+       return insn->n;
 }
 
 static int usbduxsigma_pwm_config(struct comedi_device *dev,
@@ -1319,8 +1320,8 @@ static int usbduxsigma_pwm_config(struct comedi_device *dev,
                 * data[1] = value
                 * data[2] = sign (for a relay)
                 */
-               return usbduxsigma_pwm_pattern(dev, s, chan,
-                                              data[1], (data[2] != 0));
+               usbduxsigma_pwm_pattern(dev, s, chan, data[1], (data[2] != 0));
+               return 0;
        case INSN_CONFIG_PWM_GET_H_BRIDGE:
                /* values are not kept in this driver, nothing to return */
                return -EINVAL;