linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v2] char: ipmi: ipmi_ssif: Replace timeval with timespec64
@ 2015-10-23 19:51 Amitoj Kaur Chawla
  2015-10-23 19:53 ` [Y2038] " Arnd Bergmann
  2015-10-23 20:18 ` Corey Minyard
  0 siblings, 2 replies; 3+ messages in thread
From: Amitoj Kaur Chawla @ 2015-10-23 19:51 UTC (permalink / raw)
  To: outreachy-kernel; +Cc: y2038, minyard, openipmi-developer, linux-kernel

This patch replaces timeval with timespec64 as 32 bit 'struct timeval'
will not give current time beyond 2038.

The patch changes the code to use ktime_get_real_ts64() which returns
a 'struct timespec64' instead of do_gettimeofday() which returns a
'struct timeval'

This patch also alters the format string in pr_info() for now.tv_sec
to incorporate 'long long' on 32 bit architectures.

Signed-off-by: Amitoj Kaur Chawla <amitoj1606@gmail.com>
---
Changes in v2:
        -Removed unnecessary format string change in pr_info()

 drivers/char/ipmi/ipmi_ssif.c | 9 +++++----
 1 file changed, 5 insertions(+), 4 deletions(-)

diff --git a/drivers/char/ipmi/ipmi_ssif.c b/drivers/char/ipmi/ipmi_ssif.c
index 877205d..90e6246 100644
--- a/drivers/char/ipmi/ipmi_ssif.c
+++ b/drivers/char/ipmi/ipmi_ssif.c
@@ -52,6 +52,7 @@
 #include <linux/kthread.h>
 #include <linux/acpi.h>
 #include <linux/ctype.h>
+#include <linux/time64.h>
 
 #define PFX "ipmi_ssif: "
 #define DEVICE_NAME "ipmi_ssif"
@@ -1041,12 +1042,12 @@ static void sender(void                *send_info,
 	start_next_msg(ssif_info, flags);
 
 	if (ssif_info->ssif_debug & SSIF_DEBUG_TIMING) {
-		struct timeval t;
+		struct timespec64 t;
 
-		do_gettimeofday(&t);
-		pr_info("**Enqueue %02x %02x: %ld.%6.6ld\n",
+		ktime_get_real_ts64(&t);
+		pr_info("**Enqueue %02x %02x: %lld.%6.6ld\n",
 		       msg->data[0], msg->data[1],
-		       (long) t.tv_sec, (long) t.tv_usec);
+		       (long long) t.tv_sec, (long) t.tv_nsec / NSEC_PER_USEC);
 	}
 }
 
-- 
1.9.1


^ permalink raw reply related	[flat|nested] 3+ messages in thread

* Re: [Y2038] [PATCH v2] char: ipmi: ipmi_ssif: Replace timeval with timespec64
  2015-10-23 19:51 [PATCH v2] char: ipmi: ipmi_ssif: Replace timeval with timespec64 Amitoj Kaur Chawla
@ 2015-10-23 19:53 ` Arnd Bergmann
  2015-10-23 20:18 ` Corey Minyard
  1 sibling, 0 replies; 3+ messages in thread
From: Arnd Bergmann @ 2015-10-23 19:53 UTC (permalink / raw)
  To: y2038
  Cc: Amitoj Kaur Chawla, outreachy-kernel, openipmi-developer,
	linux-kernel, minyard

On Saturday 24 October 2015 01:21:04 Amitoj Kaur Chawla wrote:
> This patch replaces timeval with timespec64 as 32 bit 'struct timeval'
> will not give current time beyond 2038.
> 
> The patch changes the code to use ktime_get_real_ts64() which returns
> a 'struct timespec64' instead of do_gettimeofday() which returns a
> 'struct timeval'
> 
> This patch also alters the format string in pr_info() for now.tv_sec
> to incorporate 'long long' on 32 bit architectures.
> 
> Signed-off-by: Amitoj Kaur Chawla <amitoj1606@gmail.com>
> 

Reviewed-by: Arnd Bergmann <arnd@arndb.de>

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [PATCH v2] char: ipmi: ipmi_ssif: Replace timeval with timespec64
  2015-10-23 19:51 [PATCH v2] char: ipmi: ipmi_ssif: Replace timeval with timespec64 Amitoj Kaur Chawla
  2015-10-23 19:53 ` [Y2038] " Arnd Bergmann
@ 2015-10-23 20:18 ` Corey Minyard
  1 sibling, 0 replies; 3+ messages in thread
From: Corey Minyard @ 2015-10-23 20:18 UTC (permalink / raw)
  To: Amitoj Kaur Chawla, outreachy-kernel
  Cc: y2038, openipmi-developer, linux-kernel

Queued for 4.4.  Thanks.

-corey

On 10/23/2015 02:51 PM, Amitoj Kaur Chawla wrote:
> This patch replaces timeval with timespec64 as 32 bit 'struct timeval'
> will not give current time beyond 2038.
>
> The patch changes the code to use ktime_get_real_ts64() which returns
> a 'struct timespec64' instead of do_gettimeofday() which returns a
> 'struct timeval'
>
> This patch also alters the format string in pr_info() for now.tv_sec
> to incorporate 'long long' on 32 bit architectures.
>
> Signed-off-by: Amitoj Kaur Chawla <amitoj1606@gmail.com>
> ---
> Changes in v2:
>         -Removed unnecessary format string change in pr_info()
>
>  drivers/char/ipmi/ipmi_ssif.c | 9 +++++----
>  1 file changed, 5 insertions(+), 4 deletions(-)
>
> diff --git a/drivers/char/ipmi/ipmi_ssif.c b/drivers/char/ipmi/ipmi_ssif.c
> index 877205d..90e6246 100644
> --- a/drivers/char/ipmi/ipmi_ssif.c
> +++ b/drivers/char/ipmi/ipmi_ssif.c
> @@ -52,6 +52,7 @@
>  #include <linux/kthread.h>
>  #include <linux/acpi.h>
>  #include <linux/ctype.h>
> +#include <linux/time64.h>
>  
>  #define PFX "ipmi_ssif: "
>  #define DEVICE_NAME "ipmi_ssif"
> @@ -1041,12 +1042,12 @@ static void sender(void                *send_info,
>  	start_next_msg(ssif_info, flags);
>  
>  	if (ssif_info->ssif_debug & SSIF_DEBUG_TIMING) {
> -		struct timeval t;
> +		struct timespec64 t;
>  
> -		do_gettimeofday(&t);
> -		pr_info("**Enqueue %02x %02x: %ld.%6.6ld\n",
> +		ktime_get_real_ts64(&t);
> +		pr_info("**Enqueue %02x %02x: %lld.%6.6ld\n",
>  		       msg->data[0], msg->data[1],
> -		       (long) t.tv_sec, (long) t.tv_usec);
> +		       (long long) t.tv_sec, (long) t.tv_nsec / NSEC_PER_USEC);
>  	}
>  }
>  


^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2015-10-23 20:18 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-10-23 19:51 [PATCH v2] char: ipmi: ipmi_ssif: Replace timeval with timespec64 Amitoj Kaur Chawla
2015-10-23 19:53 ` [Y2038] " Arnd Bergmann
2015-10-23 20:18 ` Corey Minyard

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).