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.
Unified · Split
| @@ -7,14 +7,6 @@ · 6 unmodified lines | |||
| 7 | typedef __s64 time64_t; | 7 | typedef __s64 time64_t; |
| 8 | typedef __u64 timeu64_t; | 8 | typedef __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 | ||
| 20 | struct timespec64 { | 12 | struct timespec64 { |
| @@ -53,13 +53,6 @@ · 52 unmodified lines | |||
| 53 | #ifndef _LINUX_TIMEX_H | 53 | #ifndef _LINUX_TIMEX_H |
| 54 | #define _LINUX_TIMEX_H | 54 | #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 */ |
| @@ -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 | ||
| 46 | struct __kernel_timespec { | 45 | struct __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 | ||
| 53 | struct __kernel_itimerspec { | 50 | struct __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 that | 56 | * legacy timeval structure, only embedded in structures that |
| @@ -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 | ||
| 101 | struct __kernel_timex { | 100 | struct __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) |