Messages in this thread Patch in this message | | | Date | Mon, 20 Feb 2006 23:21:28 -0700 | From | john stultz <> | Subject | [-mm PATCH 4/11] Time: clocksource infrastructure - remove nsec_t |
| |
Removes nsec_t usage as suggested by Roman Zippel Also moves the cycle_t definition to clocksource.h
Signed-off-by: John Stultz <johnstul@us.ibm.com>
include/linux/clocksource.h | 21 ++++++++++++--------- 1 files changed, 12 insertions(+), 9 deletions(-)
Index: mm-merge/include/linux/clocksource.h =================================================================== --- mm-merge.orig/include/linux/clocksource.h +++ mm-merge/include/linux/clocksource.h @@ -15,6 +15,9 @@ #include <asm/div64.h> #include <asm/io.h> +/* 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; - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |