|
@@ -26,6 +26,7 @@
|
|
|
#define pr_fmt(fmt) KBUILD_MODNAME ": " fmt
|
|
|
|
|
|
#include <linux/init.h>
|
|
|
+#include <linux/ktime.h>
|
|
|
#include <linux/module.h>
|
|
|
#include <linux/moduleparam.h>
|
|
|
#include <linux/err.h>
|
|
@@ -79,18 +80,18 @@ static unsigned char *check_buf;
|
|
|
static unsigned int erase_cycles;
|
|
|
|
|
|
static int pgsize;
|
|
|
-static struct timeval start, finish;
|
|
|
+static ktime_t start, finish;
|
|
|
|
|
|
static void report_corrupt(unsigned char *read, unsigned char *written);
|
|
|
|
|
|
static inline void start_timing(void)
|
|
|
{
|
|
|
- do_gettimeofday(&start);
|
|
|
+ start = ktime_get();
|
|
|
}
|
|
|
|
|
|
static inline void stop_timing(void)
|
|
|
{
|
|
|
- do_gettimeofday(&finish);
|
|
|
+ finish = ktime_get();
|
|
|
}
|
|
|
|
|
|
/*
|
|
@@ -333,8 +334,7 @@ static int __init tort_init(void)
|
|
|
long ms;
|
|
|
|
|
|
stop_timing();
|
|
|
- ms = (finish.tv_sec - start.tv_sec) * 1000 +
|
|
|
- (finish.tv_usec - start.tv_usec) / 1000;
|
|
|
+ ms = ktime_ms_delta(finish, start);
|
|
|
pr_info("%08u erase cycles done, took %lu "
|
|
|
"milliseconds (%lu seconds)\n",
|
|
|
erase_cycles, ms, ms / 1000);
|