On 28 April 2015 at 17:49, Arnd Bergmann <[email protected]> wrote: > On Tuesday 28 April 2015 16:05:53 Baolin Wang wrote: > > This patch introduces the timespec64_to_jiffies() and > jiffies_to_timespec64() > > functions, that implement the conversion between cputime and timespec64. > > > > Signed-off-by: Baolin Wang <[email protected]> > > --- > > include/linux/jiffies.h | 3 +++ > > kernel/time/time.c | 23 +++++++++++++++++++---- > > 2 files changed, 22 insertions(+), 4 deletions(-) > > > > diff --git a/include/linux/jiffies.h b/include/linux/jiffies.h > > index c367cbd..dbaa4ee 100644 > > --- a/include/linux/jiffies.h > > +++ b/include/linux/jiffies.h > > @@ -293,6 +293,9 @@ extern unsigned long usecs_to_jiffies(const unsigned > int u); > > extern unsigned long timespec_to_jiffies(const struct timespec *value); > > extern void jiffies_to_timespec(const unsigned long jiffies, > > struct timespec *value); > > +extern unsigned long timespec64_to_jiffies(const struct timespec64 > *value); > > +extern void jiffies_to_timespec64(const unsigned long jiffies, > > + struct timespec64 *value); > > extern unsigned long timeval_to_jiffies(const struct timeval *value); > > extern void jiffies_to_timeval(const unsigned long jiffies, > > struct timeval *value); > > diff --git a/kernel/time/time.c b/kernel/time/time.c > > index fe65e7d..b711f54 100644 > > --- a/kernel/time/time.c > > +++ b/kernel/time/time.c > > @@ -593,17 +593,16 @@ __timespec_to_jiffies(unsigned long sec, long nsec) > > (NSEC_JIFFIE_SC - SEC_JIFFIE_SC))) >> SEC_JIFFIE_SC; > > > > } > > +EXPORT_SYMBOL(__timespec_to_jiffies); > > __timespec_to_jiffies is still marked as 'static', so it should not be > exported. > > > unsigned long > > -timespec_to_jiffies(const struct timespec *value) > > +timespec64_to_jiffies(const struct timespec64 *value) > > { > > return __timespec_to_jiffies(value->tv_sec, value->tv_nsec); > > } > > > > -EXPORT_SYMBOL(timespec_to_jiffies); > > - > > Whereas the timespec64_to_jiffies should probably be exported, because > it is now an official interface. > > > + > > +unsigned long > > +timespec_to_jiffies(const struct timespec *value) > > +{ > > + return __timespec_to_jiffies(value->tv_sec, value->tv_nsec); > > +} > > This is also missing an EXPORT_SYMBOL now. > > > +void > > +jiffies_to_timespec(const unsigned long jiffies, struct timespec *value) > > +{ > > + struct timespec64 *ts; > > + > > + *ts = timespec_to_timespec64(*value); > > + jiffies_to_timespec64(jiffies, ts); > > +} > > EXPORT_SYMBOL(jiffies_to_timespec); > > > > I would probably again put timespec_to_jiffies and jiffies_to_timespec > into the header file as static inline functions, which implies that you > then have to declare and export __timespec_to_jiffies. > > Arnd >
But according to Thomas's suggestion, he would not like to add too much "EXPORT_SYMBOL". I also think here the "EXPORT_SYMBOL" is essential. -- Baolin.wang Best Regards _______________________________________________ Y2038 mailing list [email protected] https://lists.linaro.org/mailman/listinfo/y2038
