* [PATCH v3] misc: ibmasm: Replace timeval with timespec64
@ 2015-10-23 15:07 Amitoj Kaur Chawla
2016-02-08 5:30 ` Greg KH
0 siblings, 1 reply; 2+ messages in thread
From: Amitoj Kaur Chawla @ 2015-10-23 15:07 UTC (permalink / raw)
To: outreachy-kernel; +Cc: arnd, gregkh, y2038, 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 strings in sprintf() for now.tv_sec
and now.tv_nsec to incorporate 'long long' on 32 bit architectures and
leading zeroes respectively.
Signed-off-by: Amitoj Kaur Chawla <amitoj1606@gmail.com>
Reviewed-by: Arnd Bergmann <arnd@arndb.de>
---
Changes in v2:
-change format string of now.tv_sec to '%llu'
-change format string of now.tv_nsec to '%.08lu'
Changes in v3:
-Replace tv_usec with tv_nsec, error made in v2
-Build tested
drivers/misc/ibmasm/ibmasm.h | 8 +++++---
1 file changed, 5 insertions(+), 3 deletions(-)
diff --git a/drivers/misc/ibmasm/ibmasm.h b/drivers/misc/ibmasm/ibmasm.h
index 9b08344..82380ae 100644
--- a/drivers/misc/ibmasm/ibmasm.h
+++ b/drivers/misc/ibmasm/ibmasm.h
@@ -34,6 +34,7 @@
#include <linux/kref.h>
#include <linux/device.h>
#include <linux/input.h>
+#include <linux/time64.h>
/* Driver identification */
#define DRIVER_NAME "ibmasm"
@@ -53,9 +54,10 @@ extern int ibmasm_debug;
static inline char *get_timestamp(char *buf)
{
- struct timeval now;
- do_gettimeofday(&now);
- sprintf(buf, "%lu.%lu", now.tv_sec, now.tv_usec);
+ struct timespec64 now;
+ ktime_get_real_ts64(&now);
+ sprintf(buf, "%llu.%.08lu", (long long)now.tv_sec,
+ now.tv_nsec / NSEC_PER_USEC);
return buf;
}
--
1.9.1
^ permalink raw reply related [flat|nested] 2+ messages in thread
* Re: [PATCH v3] misc: ibmasm: Replace timeval with timespec64
2015-10-23 15:07 [PATCH v3] misc: ibmasm: Replace timeval with timespec64 Amitoj Kaur Chawla
@ 2016-02-08 5:30 ` Greg KH
0 siblings, 0 replies; 2+ messages in thread
From: Greg KH @ 2016-02-08 5:30 UTC (permalink / raw)
To: Amitoj Kaur Chawla; +Cc: outreachy-kernel, arnd, y2038, linux-kernel
On Fri, Oct 23, 2015 at 08:37:49PM +0530, 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 strings in sprintf() for now.tv_sec
> and now.tv_nsec to incorporate 'long long' on 32 bit architectures and
> leading zeroes respectively.
>
> Signed-off-by: Amitoj Kaur Chawla <amitoj1606@gmail.com>
> Reviewed-by: Arnd Bergmann <arnd@arndb.de>
> ---
> Changes in v2:
> -change format string of now.tv_sec to '%llu'
> -change format string of now.tv_nsec to '%.08lu'
> Changes in v3:
> -Replace tv_usec with tv_nsec, error made in v2
> -Build tested
>
> drivers/misc/ibmasm/ibmasm.h | 8 +++++---
> 1 file changed, 5 insertions(+), 3 deletions(-)
>
> diff --git a/drivers/misc/ibmasm/ibmasm.h b/drivers/misc/ibmasm/ibmasm.h
> index 9b08344..82380ae 100644
> --- a/drivers/misc/ibmasm/ibmasm.h
> +++ b/drivers/misc/ibmasm/ibmasm.h
> @@ -34,6 +34,7 @@
> #include <linux/kref.h>
> #include <linux/device.h>
> #include <linux/input.h>
> +#include <linux/time64.h>
>
> /* Driver identification */
> #define DRIVER_NAME "ibmasm"
> @@ -53,9 +54,10 @@ extern int ibmasm_debug;
>
> static inline char *get_timestamp(char *buf)
> {
> - struct timeval now;
> - do_gettimeofday(&now);
> - sprintf(buf, "%lu.%lu", now.tv_sec, now.tv_usec);
> + struct timespec64 now;
> + ktime_get_real_ts64(&now);
> + sprintf(buf, "%llu.%.08lu", (long long)now.tv_sec,
> + now.tv_nsec / NSEC_PER_USEC);
> return buf;
> }
>
Always run your patches through checkpatch so that a maintainer doesn't
have to be grumpy and tell you to fix up the obvious checkpatch issues
in it...
thanks,
greg k-h
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2016-02-08 5:30 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-10-23 15:07 [PATCH v3] misc: ibmasm: Replace timeval with timespec64 Amitoj Kaur Chawla
2016-02-08 5:30 ` Greg KH
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox