Re: [PATCH 01/11] linux/time64.h:Introduce the 'struct itimerspec64' for 64bit

Thomas Gleixner
2015-04-20T19:14:04Z

On Mon, 20 Apr 2015, Baolin Wang wrote:
> This patch introduces the 'struct itimerspec64' for 64bit to replace itimerspec,
> and also introduces the conversion methods: itimerspec64_to_itimerspec() and
> itimerspec_to_itimerspec64(), that makes itimerspec to ready for 2038 year.
>
> Signed-off-by: Baolin Wang <baolin.wang@linaro.org>
> ---
> include/linux/time64.h | 13 +++++++++++++
> 1 file changed, 13 insertions(+)
>
> diff --git a/include/linux/time64.h b/include/linux/time64.h
> index a383147..3647bdd 100644
> --- a/include/linux/time64.h
> +++ b/include/linux/time64.h
> @@ -18,6 +18,11 @@ struct timespec64 {
> };
> #endif
>
> +struct itimerspec64 {
> + struct timespec64 it_interval; /* timer period */
> + struct timespec64 it_value; /* timer expiration */
> +};
> +
> /* Parameters used to convert the timespec values: */
> #define MSEC_PER_SEC 1000L
> #define USEC_PER_MSEC 1000L
> @@ -187,4 +192,12 @@ static __always_inline void timespec64_add_ns(struct timespec64 *a, u64 ns)
>
> #endif
>
> +#define itimerspec64_to_itimerspec(its64) \

> +#define itimerspec_to_itimerspec64(its) \

1.) Make these static inlines please. These macros are not typesafe.

2.) Use pointers to the input value.

Thanks.

tglx