Staging: comedi: replace timeval with ktime_t
[deliverable/linux.git] / drivers / staging / comedi / drivers / comedi_test.c
index 8845075cd3ccb74ae5c3b44329b088ec712184eb..4d4358ce171078c70234b7229cdbeae84fae6ebd 100644 (file)
@@ -52,13 +52,14 @@ zero volts).
 
 #include "comedi_fc.h"
 #include <linux/timer.h>
+#include <linux/ktime.h>
 
 #define N_CHANS 8
 
 /* Data unique to this driver */
 struct waveform_private {
        struct timer_list timer;
-       struct timeval last;            /* time last timer interrupt occurred */
+       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) */
@@ -171,14 +172,12 @@ static void waveform_ai_interrupt(unsigned long arg)
        /* all times in microsec */
        unsigned long elapsed_time;
        unsigned int num_scans;
-       struct timeval now;
+       ktime_t now;
        bool stopping = false;
 
-       do_gettimeofday(&now);
+       now = ktime_get();
 
-       elapsed_time =
-           1000000 * (now.tv_sec - devpriv->last.tv_sec) + now.tv_usec -
-           devpriv->last.tv_usec;
+       elapsed_time = ktime_to_us(ktime_sub(now, devpriv->last));
        devpriv->last = now;
        num_scans =
            (devpriv->usec_remainder + elapsed_time) / devpriv->scan_period;
@@ -317,8 +316,9 @@ static int waveform_ai_cmd(struct comedi_device *dev,
        else    /* TRIG_TIMER */
                devpriv->convert_period = cmd->convert_arg / nano_per_micro;
 
-       do_gettimeofday(&devpriv->last);
-       devpriv->usec_current = devpriv->last.tv_usec % devpriv->usec_period;
+       devpriv->last = ktime_get();
+       devpriv->usec_current =
+               ((u32)ktime_to_us(devpriv->last)) % devpriv->usec_period;
        devpriv->usec_remainder = 0;
 
        devpriv->timer.expires = jiffies + 1;
This page took 0.02965 seconds and 5 git commands to generate.