lkml.org 
[lkml]   [2006]   [Feb]   [21]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
Date
From
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/
\
 
 \ /
  Last update: 2006-02-21 07:26    [W:0.080 / U:0.776 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site