Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1263206
| From | Stefan Richter <stefanr@s5r6.in-berlin.de> |
|---|---|
| Newsgroups | linux.kernel |
| Subject | Re: [Outreachy kernel] [PATCH v2] firewire: Replace timeval with timespec64 |
| Date | 2015-11-05 14:40 +0100 |
| Message-ID | <qrsVI-7i3-23@gated-at.bofh.it> (permalink) |
| References | <qmad4-8ie-13@gated-at.bofh.it> <qmawq-en-1@gated-at.bofh.it> |
| Organization | linux.* mail to news gateway |
[Multipart message — attachments visible in raw view] - view raw
On Oct 22 Arnd Bergmann wrote:
> On Thursday 22 October 2015 04:05:00 Amitoj Kaur Chawla wrote:
> > 32 bit systems using 'struct timeval' will break in the year 2038, so
> > we replace the code appropriately. However, this driver is not broken
> > in 2038 since we are using only the microseconds portion of the
> > current time.
> >
> > This patch replaces timeval with timespec64.
> >
> > Signed-off-by: Amitoj Kaur Chawla <amitoj1606@gmail.com>
>
> Reviewed-by: Arnd Bergmann <arnd@arndb.de>
>
> (adding the y2038 mailing list as well)
Committed to linux1394.git.
Arnd, do you have special y2038 plans that make it desirable to have this
merged before v4.4? Otherwise I would submit it for v4.5-rc1.
> > Changes in v2:
> > -Replaced timespec with timspec64
> > -Modified commit message
> > -Used ktime_get_real_ts64() instead of getnstimeofday64()
> >
> > drivers/firewire/nosy.c | 10 ++++++----
> > 1 file changed, 6 insertions(+), 4 deletions(-)
> >
> > diff --git a/drivers/firewire/nosy.c b/drivers/firewire/nosy.c
> > index 76b2d39..8a46077 100644
> > --- a/drivers/firewire/nosy.c
> > +++ b/drivers/firewire/nosy.c
> > @@ -33,6 +33,7 @@
> > #include <linux/sched.h> /* required for linux/wait.h */
> > #include <linux/slab.h>
> > #include <linux/spinlock.h>
> > +#include <linux/time64.h>
> > #include <linux/timex.h>
> > #include <linux/uaccess.h>
> > #include <linux/wait.h>
> > @@ -413,17 +414,18 @@ static void
> > packet_irq_handler(struct pcilynx *lynx)
> > {
> > struct client *client;
> > - u32 tcode_mask, tcode;
> > + u32 tcode_mask, tcode, timestamp;
> > size_t length;
> > - struct timeval tv;
> > + struct timespec64 ts64;
> >
> > /* FIXME: Also report rcv_speed. */
> >
> > length = __le32_to_cpu(lynx->rcv_pcl->pcl_status) & 0x00001fff;
> > tcode = __le32_to_cpu(lynx->rcv_buffer[1]) >> 4 & 0xf;
> >
> > - do_gettimeofday(&tv);
> > - lynx->rcv_buffer[0] = (__force __le32)tv.tv_usec;
> > + ktime_get_real_ts64(&ts64);
> > + timestamp = ts64.tv_nsec / NSEC_PER_USEC;
> > + lynx->rcv_buffer[0] = (__force __le32)timestamp;
> >
> > if (length == PHY_PACKET_SIZE)
> > tcode_mask = 1 << TCODE_PHY_PACKET;
> >
>
--
Stefan Richter
-=====-===== =-== --=-=
http://arcgraph.de/sr/
Back to linux.kernel | Previous | Next — Next in thread | Find similar | Unroll thread
Re: [Outreachy kernel] [PATCH v2] firewire: Replace timeval with timespec64 Stefan Richter <stefanr@s5r6.in-berlin.de> - 2015-11-05 14:40 +0100 Re: [Outreachy kernel] [PATCH v2] firewire: Replace timeval with timespec64 Arnd Bergmann <arnd@arndb.de> - 2015-11-05 15:50 +0100
csiph-web