ide: pdc202xx_new: Replace timeval with ktime_t
authorAmitoj Kaur Chawla <amitoj1606@gmail.com>
Thu, 22 Oct 2015 12:45:50 +0000 (18:15 +0530)
committerDavid S. Miller <davem@davemloft.net>
Tue, 3 Nov 2015 16:51:08 +0000 (11:51 -0500)
This driver uses 'struct timeval' which we are trying to remove since
32 bit time types will break in the year 2038 by replacing it with
ktime_t.

This patch changes do_gettimeofday() to ktime_get() because
ktime_get() returns a ktime_t while do_gettimeofday() returns struct
timeval.

This patch also uses ktime_us_delta() to get the elapsed time.

Signed-off-by: Amitoj Kaur Chawla <amitoj1606@gmail.com>
Reviewed-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/ide/pdc202xx_new.c

index df73cbd..9ad014a 100644 (file)
@@ -22,6 +22,7 @@
 #include <linux/pci.h>
 #include <linux/init.h>
 #include <linux/ide.h>
 #include <linux/pci.h>
 #include <linux/init.h>
 #include <linux/ide.h>
+#include <linux/ktime.h>
 
 #include <asm/io.h>
 
 
 #include <asm/io.h>
 
@@ -243,13 +244,13 @@ static long read_counter(u32 dma_base)
  */
 static long detect_pll_input_clock(unsigned long dma_base)
 {
  */
 static long detect_pll_input_clock(unsigned long dma_base)
 {
-       struct timeval start_time, end_time;
+       ktime_t start_time, end_time;
        long start_count, end_count;
        long pll_input, usec_elapsed;
        u8 scr1;
 
        start_count = read_counter(dma_base);
        long start_count, end_count;
        long pll_input, usec_elapsed;
        u8 scr1;
 
        start_count = read_counter(dma_base);
-       do_gettimeofday(&start_time);
+       start_time = ktime_get();
 
        /* Start the test mode */
        outb(0x01, dma_base + 0x01);
 
        /* Start the test mode */
        outb(0x01, dma_base + 0x01);
@@ -261,7 +262,7 @@ static long detect_pll_input_clock(unsigned long dma_base)
        mdelay(10);
 
        end_count = read_counter(dma_base);
        mdelay(10);
 
        end_count = read_counter(dma_base);
-       do_gettimeofday(&end_time);
+       end_time = ktime_get();
 
        /* Stop the test mode */
        outb(0x01, dma_base + 0x01);
 
        /* Stop the test mode */
        outb(0x01, dma_base + 0x01);
@@ -273,8 +274,7 @@ static long detect_pll_input_clock(unsigned long dma_base)
         * Calculate the input clock in Hz
         * (the clock counter is 30 bit wide and counts down)
         */
         * Calculate the input clock in Hz
         * (the clock counter is 30 bit wide and counts down)
         */
-       usec_elapsed = (end_time.tv_sec - start_time.tv_sec) * 1000000 +
-               (end_time.tv_usec - start_time.tv_usec);
+       usec_elapsed = ktime_us_delta(end_time, start_time);
        pll_input = ((start_count - end_count) & 0x3fffffff) / 10 *
                (10000000 / usec_elapsed);
 
        pll_input = ((start_count - end_count) & 0x3fffffff) / 10 *
                (10000000 / usec_elapsed);