staging: comedi: comedi_test: use unsigned int for waveform timing
authorIan Abbott <abbotti@mev.co.uk>
Tue, 27 Oct 2015 16:59:16 +0000 (16:59 +0000)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 28 Oct 2015 23:58:36 +0000 (08:58 +0900)
Use `unsigned int` instead of `unsigned long` to hold the period of the
fake waveform generator and the current time within each waveform.  The
waveform period will be no more than `INT_MAX` and the current time
within the waveform (prior to the modulo operation to bring it actually
within the waveform period) will be no more than `INT_MAX + UINT_MAX /
1000`.

Signed-off-by: Ian Abbott <abbotti@mev.co.uk>
Reviewed-by: H Hartley Sweeten <hsweeten@visionengravers.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/staging/comedi/drivers/comedi_test.c

index 021522882905c64bfa4504d1d0d0cd3344a526b9..158e090e81adcf99ba420a74f43b961c9b9e3515 100644 (file)
@@ -64,8 +64,8 @@ struct waveform_private {
        struct timer_list timer;
        ktime_t last;   /* time last timer interrupt occurred */
        unsigned int uvolt_amplitude;   /* waveform amplitude in microvolts */
-       unsigned long usec_period;      /* waveform period in microseconds */
-       unsigned long usec_current;     /* current time (mod waveform period) */
+       unsigned int usec_period;       /* waveform period in microseconds */
+       unsigned int usec_current;      /* current time (mod waveform period) */
        unsigned long usec_remainder;   /* usec since last scan */
        unsigned long state_bits;
        unsigned int scan_period;       /* scan period in usec */
@@ -83,7 +83,7 @@ static const struct comedi_lrange waveform_ai_ranges = {
 
 static unsigned short fake_sawtooth(struct comedi_device *dev,
                                    unsigned int range_index,
-                                   unsigned long current_time)
+                                   unsigned int current_time)
 {
        struct waveform_private *devpriv = dev->private;
        struct comedi_subdevice *s = dev->read_subdev;
@@ -115,7 +115,7 @@ static unsigned short fake_sawtooth(struct comedi_device *dev,
 
 static unsigned short fake_squarewave(struct comedi_device *dev,
                                      unsigned int range_index,
-                                     unsigned long current_time)
+                                     unsigned int current_time)
 {
        struct waveform_private *devpriv = dev->private;
        struct comedi_subdevice *s = dev->read_subdev;
@@ -145,7 +145,7 @@ static unsigned short fake_squarewave(struct comedi_device *dev,
 
 static unsigned short fake_flatline(struct comedi_device *dev,
                                    unsigned int range_index,
-                                   unsigned long current_time)
+                                   unsigned int current_time)
 {
        return dev->read_subdev->maxdata / 2;
 }
@@ -153,7 +153,7 @@ static unsigned short fake_flatline(struct comedi_device *dev,
 /* generates a different waveform depending on what channel is read */
 static unsigned short fake_waveform(struct comedi_device *dev,
                                    unsigned int channel, unsigned int range,
-                                   unsigned long current_time)
+                                   unsigned int current_time)
 {
        enum {
                SAWTOOTH_CHAN,
@@ -468,7 +468,7 @@ static int waveform_attach(struct comedi_device *dev,
                    (unsigned long)dev);
 
        dev_info(dev->class_dev,
-                "%s: %i microvolt, %li microsecond waveform attached\n",
+                "%s: %u microvolt, %u microsecond waveform attached\n",
                 dev->board_name,
                 devpriv->uvolt_amplitude, devpriv->usec_period);