]> asedeno.scripts.mit.edu Git - linux.git/blobdiff - arch/powerpc/include/asm/cputime.h
Merge branches 'pm-core', 'pm-qos', 'pm-domains' and 'pm-opp'
[linux.git] / arch / powerpc / include / asm / cputime.h
index aa2e6a34b872755ad58c9a12ed145f9d4f9a62bb..99b541865d8dd65cb420e25eae476b2ec6d71632 100644 (file)
 #ifndef __POWERPC_CPUTIME_H
 #define __POWERPC_CPUTIME_H
 
-#ifndef CONFIG_VIRT_CPU_ACCOUNTING_NATIVE
-#include <asm-generic/cputime.h>
-#ifdef __KERNEL__
-static inline void setup_cputime_one_jiffy(void) { }
-#endif
-#else
+#ifdef CONFIG_VIRT_CPU_ACCOUNTING_NATIVE
 
 #include <linux/types.h>
 #include <linux/time.h>
@@ -36,65 +31,6 @@ typedef u64 __nocast cputime64_t;
 #define cmpxchg_cputime(ptr, old, new) cmpxchg(ptr, old, new)
 
 #ifdef __KERNEL__
-
-/*
- * One jiffy in timebase units computed during initialization
- */
-extern cputime_t cputime_one_jiffy;
-
-/*
- * Convert cputime <-> jiffies
- */
-extern u64 __cputime_jiffies_factor;
-
-static inline unsigned long cputime_to_jiffies(const cputime_t ct)
-{
-       return mulhdu((__force u64) ct, __cputime_jiffies_factor);
-}
-
-static inline cputime_t jiffies_to_cputime(const unsigned long jif)
-{
-       u64 ct;
-       unsigned long sec;
-
-       /* have to be a little careful about overflow */
-       ct = jif % HZ;
-       sec = jif / HZ;
-       if (ct) {
-               ct *= tb_ticks_per_sec;
-               do_div(ct, HZ);
-       }
-       if (sec)
-               ct += (cputime_t) sec * tb_ticks_per_sec;
-       return (__force cputime_t) ct;
-}
-
-static inline void setup_cputime_one_jiffy(void)
-{
-       cputime_one_jiffy = jiffies_to_cputime(1);
-}
-
-static inline cputime64_t jiffies64_to_cputime64(const u64 jif)
-{
-       u64 ct;
-       u64 sec = jif;
-
-       /* have to be a little careful about overflow */
-       ct = do_div(sec, HZ);
-       if (ct) {
-               ct *= tb_ticks_per_sec;
-               do_div(ct, HZ);
-       }
-       if (sec)
-               ct += (u64) sec * tb_ticks_per_sec;
-       return (__force cputime64_t) ct;
-}
-
-static inline u64 cputime64_to_jiffies64(const cputime_t ct)
-{
-       return mulhdu((__force u64) ct, __cputime_jiffies_factor);
-}
-
 /*
  * Convert cputime <-> microseconds
  */
@@ -105,117 +41,6 @@ static inline unsigned long cputime_to_usecs(const cputime_t ct)
        return mulhdu((__force u64) ct, __cputime_usec_factor);
 }
 
-static inline cputime_t usecs_to_cputime(const unsigned long us)
-{
-       u64 ct;
-       unsigned long sec;
-
-       /* have to be a little careful about overflow */
-       ct = us % 1000000;
-       sec = us / 1000000;
-       if (ct) {
-               ct *= tb_ticks_per_sec;
-               do_div(ct, 1000000);
-       }
-       if (sec)
-               ct += (cputime_t) sec * tb_ticks_per_sec;
-       return (__force cputime_t) ct;
-}
-
-#define usecs_to_cputime64(us)         usecs_to_cputime(us)
-
-/*
- * Convert cputime <-> seconds
- */
-extern u64 __cputime_sec_factor;
-
-static inline unsigned long cputime_to_secs(const cputime_t ct)
-{
-       return mulhdu((__force u64) ct, __cputime_sec_factor);
-}
-
-static inline cputime_t secs_to_cputime(const unsigned long sec)
-{
-       return (__force cputime_t)((u64) sec * tb_ticks_per_sec);
-}
-
-/*
- * Convert cputime <-> timespec
- */
-static inline void cputime_to_timespec(const cputime_t ct, struct timespec *p)
-{
-       u64 x = (__force u64) ct;
-       unsigned int frac;
-
-       frac = do_div(x, tb_ticks_per_sec);
-       p->tv_sec = x;
-       x = (u64) frac * 1000000000;
-       do_div(x, tb_ticks_per_sec);
-       p->tv_nsec = x;
-}
-
-static inline cputime_t timespec_to_cputime(const struct timespec *p)
-{
-       u64 ct;
-
-       ct = (u64) p->tv_nsec * tb_ticks_per_sec;
-       do_div(ct, 1000000000);
-       return (__force cputime_t)(ct + (u64) p->tv_sec * tb_ticks_per_sec);
-}
-
-/*
- * Convert cputime <-> timeval
- */
-static inline void cputime_to_timeval(const cputime_t ct, struct timeval *p)
-{
-       u64 x = (__force u64) ct;
-       unsigned int frac;
-
-       frac = do_div(x, tb_ticks_per_sec);
-       p->tv_sec = x;
-       x = (u64) frac * 1000000;
-       do_div(x, tb_ticks_per_sec);
-       p->tv_usec = x;
-}
-
-static inline cputime_t timeval_to_cputime(const struct timeval *p)
-{
-       u64 ct;
-
-       ct = (u64) p->tv_usec * tb_ticks_per_sec;
-       do_div(ct, 1000000);
-       return (__force cputime_t)(ct + (u64) p->tv_sec * tb_ticks_per_sec);
-}
-
-/*
- * Convert cputime <-> clock_t (units of 1/USER_HZ seconds)
- */
-extern u64 __cputime_clockt_factor;
-
-static inline unsigned long cputime_to_clock_t(const cputime_t ct)
-{
-       return mulhdu((__force u64) ct, __cputime_clockt_factor);
-}
-
-static inline cputime_t clock_t_to_cputime(const unsigned long clk)
-{
-       u64 ct;
-       unsigned long sec;
-
-       /* have to be a little careful about overflow */
-       ct = clk % USER_HZ;
-       sec = clk / USER_HZ;
-       if (ct) {
-               ct *= tb_ticks_per_sec;
-               do_div(ct, USER_HZ);
-       }
-       if (sec)
-               ct += (u64) sec * tb_ticks_per_sec;
-       return (__force cputime_t) ct;
-}
-
-#define cputime64_to_clock_t(ct)       cputime_to_clock_t((cputime_t)(ct))
-
 /*
  * PPC64 uses PACA which is task independent for storing accounting data while
  * PPC32 uses struct thread_info, therefore at task switch the accounting data