diff options
author | Arnd Bergmann <arnd@arndb.de> | 2018-08-17 18:43:44 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2018-08-17 19:20:27 -0400 |
commit | 2c1bb29aa6e7b0e52d84bd06bc199b0a5076a781 (patch) | |
tree | 29056d6176d856721209ad5c182e9fa101b75a2e | |
parent | e1fb4a0864958fac2fb1b23f9f4562a9f90e3e8f (diff) |
firewire: use 64-bit time_t based interfaces
32-bit CLOCK_REALTIME timestamps overflow in year 2038, so all such
interfaces are deprecated now. For the FW_CDEV_IOC_GET_CYCLE_TIMER2
ioctl, we already support 64-bit timestamps, but the implementation
still uses timespec.
This changes the code to use timespec64 instead with the appropriate
accessor functions.
Link: http://lkml.kernel.org/r/20180711124456.1023039-1-arnd@arndb.de
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Cc: Stefan Richter <stefanr@s5r6.in-berlin.de>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
-rw-r--r-- | drivers/firewire/core-cdev.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/drivers/firewire/core-cdev.c b/drivers/firewire/core-cdev.c index f0587273940e..d8e185582642 100644 --- a/drivers/firewire/core-cdev.c +++ b/drivers/firewire/core-cdev.c | |||
@@ -1205,7 +1205,7 @@ static int ioctl_get_cycle_timer2(struct client *client, union ioctl_arg *arg) | |||
1205 | { | 1205 | { |
1206 | struct fw_cdev_get_cycle_timer2 *a = &arg->get_cycle_timer2; | 1206 | struct fw_cdev_get_cycle_timer2 *a = &arg->get_cycle_timer2; |
1207 | struct fw_card *card = client->device->card; | 1207 | struct fw_card *card = client->device->card; |
1208 | struct timespec ts = {0, 0}; | 1208 | struct timespec64 ts = {0, 0}; |
1209 | u32 cycle_time; | 1209 | u32 cycle_time; |
1210 | int ret = 0; | 1210 | int ret = 0; |
1211 | 1211 | ||
@@ -1214,9 +1214,9 @@ static int ioctl_get_cycle_timer2(struct client *client, union ioctl_arg *arg) | |||
1214 | cycle_time = card->driver->read_csr(card, CSR_CYCLE_TIME); | 1214 | cycle_time = card->driver->read_csr(card, CSR_CYCLE_TIME); |
1215 | 1215 | ||
1216 | switch (a->clk_id) { | 1216 | switch (a->clk_id) { |
1217 | case CLOCK_REALTIME: getnstimeofday(&ts); break; | 1217 | case CLOCK_REALTIME: ktime_get_real_ts64(&ts); break; |
1218 | case CLOCK_MONOTONIC: ktime_get_ts(&ts); break; | 1218 | case CLOCK_MONOTONIC: ktime_get_ts64(&ts); break; |
1219 | case CLOCK_MONOTONIC_RAW: getrawmonotonic(&ts); break; | 1219 | case CLOCK_MONOTONIC_RAW: ktime_get_raw_ts64(&ts); break; |
1220 | default: | 1220 | default: |
1221 | ret = -EINVAL; | 1221 | ret = -EINVAL; |
1222 | } | 1222 | } |