From: Andrew Morton Removes nsec_t usage as suggested by Roman Zippel Also moves the cycle_t definition to clocksource.h Signed-off-by: John Stultz Signed-off-by: Andrew Morton --- include/linux/clocksource.h | 21 ++++++++++++--------- 1 files changed, 12 insertions(+), 9 deletions(-) diff -puN include/linux/clocksource.h~time-clocksource-infrastructure-remove-nsec_t include/linux/clocksource.h --- devel/include/linux/clocksource.h~time-clocksource-infrastructure-remove-nsec_t 2006-02-21 13:34:58.000000000 -0800 +++ devel-akpm/include/linux/clocksource.h 2006-02-21 13:34:58.000000000 -0800 @@ -15,6 +15,9 @@ #include #include +/* clocksource cycle base type */ +typedef u64 cycle_t; + /** * struct clocksource - hardware abstraction for a free running counter * Provides mostly state-free accessors to the underlying hardware. @@ -169,14 +172,14 @@ static inline int ppm_to_mult_adj(struct * * XXX - This could use some mult_lxl_ll() asm optimization */ -static inline nsec_t cyc2ns(struct clocksource *cs, int ntp_adj, cycle_t cycles) +static inline s64 cyc2ns(struct clocksource *cs, int ntp_adj, cycle_t cycles) { - u64 ret = (u64)cycles; + u64 ret = cycles; ret *= (cs->mult + ntp_adj); ret >>= cs->shift; - return (nsec_t)ret; + return ret; } /** @@ -192,10 +195,10 @@ static inline nsec_t cyc2ns(struct clock * * XXX - This could use some mult_lxl_ll() asm optimization. */ -static inline nsec_t cyc2ns_rem(struct clocksource *cs, int ntp_adj, +static inline s64 cyc2ns_rem(struct clocksource *cs, int ntp_adj, cycle_t cycles, u64* rem) { - u64 ret = (u64)cycles; + u64 ret = cycles; ret *= (cs->mult + ntp_adj); if (rem) { @@ -204,7 +207,7 @@ static inline nsec_t cyc2ns_rem(struct c } ret >>= cs->shift; - return (nsec_t)ret; + return ret; } @@ -224,7 +227,7 @@ static inline nsec_t cyc2ns_rem(struct c */ struct clocksource_interval { cycle_t cycles; - nsec_t nsecs; + s64 nsecs; u64 remainder; u64 remainder_ns_overflow; }; @@ -278,10 +281,10 @@ calculate_clocksource_interval(struct cl * * Unless you're the timeofday_periodic_hook, you should not be using this! */ -static inline nsec_t cyc2ns_fixed_rem(struct clocksource_interval interval, +static inline s64 cyc2ns_fixed_rem(struct clocksource_interval interval, cycle_t *cycles, u64* rem) { - nsec_t delta_nsec = 0; + s64 delta_nsec = 0; while (*cycles > interval.cycles) { delta_nsec += interval.nsecs; _