History

y2038: remove struct definition redirects

We now use 64-bit time_t on all architectures, so the __kernel_timex, __kernel_timeval and __kernel_timespec redirects can be removed after having served their purpose. This makes it all much less confusing, as the __kernel_* types now always refer to the same layout based on 64-bit time_t across all 32-bit and 64-bit architectures.

Arnd Bergmann committed 7 years ago

Commit c70a7721 parent 00bf25d4 files · +0 −21Browse files

Unified · Split

4 files
  1. include/linux/time64.h +0 −8
  2. include/linux/timex.h +0 −7
  3. include/uapi/linux/time.h +0 −4
  4. include/uapi/linux/timex.h +0 −2
include/linux/time64.h+0−8
@@ -7,14 +7,6 @@ · 6 unmodified lines
7typedef __s64 time64_t;7typedef __s64 time64_t;
8typedef __u64 timeu64_t;8typedef __u64 timeu64_t;
9 9
10/* CONFIG_64BIT_TIME enables new 64 bit time_t syscalls in the compat path
11 * and 32-bit emulation.
12 */
13#ifndef CONFIG_64BIT_TIME
14#define __kernel_timespec timespec
15#define __kernel_itimerspec itimerspec
16#endif
17
18#include <uapi/linux/time.h>10#include <uapi/linux/time.h>
19 11
20struct timespec64 {12struct timespec64 {
include/linux/timex.h+0−7
@@ -53,13 +53,6 @@ · 52 unmodified lines
53#ifndef _LINUX_TIMEX_H53#ifndef _LINUX_TIMEX_H
54#define _LINUX_TIMEX_H54#define _LINUX_TIMEX_H
55 55
56/* CONFIG_64BIT_TIME enables new 64 bit time_t syscalls in the compat path
57 * and 32-bit emulation.
58 */
59#ifndef CONFIG_64BIT_TIME
60#define __kernel_timex timex
61#endif
62
63#include <uapi/linux/timex.h>56#include <uapi/linux/timex.h>
64 57
65#define ADJ_ADJTIME 0x8000 /* switch between adjtime/adjtimex modes */58#define ADJ_ADJTIME 0x8000 /* switch between adjtime/adjtimex modes */
include/uapi/linux/time.h+0−4
@@ -42,19 +42,15 @@ struct itimerval { · 41 unmodified lines
42 struct timeval it_value; /* current value */42 struct timeval it_value; /* current value */
43};43};
44 44
45#ifndef __kernel_timespec
46struct __kernel_timespec {45struct __kernel_timespec {
47 __kernel_time64_t tv_sec; /* seconds */46 __kernel_time64_t tv_sec; /* seconds */
48 long long tv_nsec; /* nanoseconds */47 long long tv_nsec; /* nanoseconds */
49};48};
50#endif
51 49
52#ifndef __kernel_itimerspec
53struct __kernel_itimerspec {50struct __kernel_itimerspec {
54 struct __kernel_timespec it_interval; /* timer period */51 struct __kernel_timespec it_interval; /* timer period */
55 struct __kernel_timespec it_value; /* timer expiration */52 struct __kernel_timespec it_value; /* timer expiration */
56};53};
57#endif
58 54
59/*55/*
60 * legacy timeval structure, only embedded in structures that56 * legacy timeval structure, only embedded in structures that
include/uapi/linux/timex.h+0−2
@@ -97,7 +97,6 @@ struct __kernel_timex_timeval { · 96 unmodified lines
97 long long tv_usec;97 long long tv_usec;
98};98};
99 99
100#ifndef __kernel_timex
101struct __kernel_timex {100struct __kernel_timex {
102 unsigned int modes; /* mode selector */101 unsigned int modes; /* mode selector */
103 int :32; /* pad */102 int :32; /* pad */
@@ -131,7 +130,6 @@ struct __kernel_timex { · 27 unmodified lines
131 int :32; int :32; int :32; int :32;130 int :32; int :32; int :32; int :32;
132 int :32; int :32; int :32;131 int :32; int :32; int :32;
133};132};
134#endif
135 133
136/*134/*
137 * Mode codes (timex.mode)135 * Mode codes (timex.mode)