[PATCH] hrtimer: move div_long_long_rem out of jiffies.h
move div_long_long_rem() from jiffies.h into a new calc64.h include file, as it is a general math function useful for other things than the jiffy code. Convert it to an inline function Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Signed-off-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
This commit is contained in:
committed by
Linus Torvalds
parent
af4cd3fe4c
commit
5cca7619a5
@@ -1,21 +1,12 @@
|
||||
#ifndef _LINUX_JIFFIES_H
|
||||
#define _LINUX_JIFFIES_H
|
||||
|
||||
#include <linux/calc64.h>
|
||||
#include <linux/kernel.h>
|
||||
#include <linux/types.h>
|
||||
#include <linux/time.h>
|
||||
#include <linux/timex.h>
|
||||
#include <asm/param.h> /* for HZ */
|
||||
#include <asm/div64.h>
|
||||
|
||||
#ifndef div_long_long_rem
|
||||
#define div_long_long_rem(dividend,divisor,remainder) \
|
||||
({ \
|
||||
u64 result = dividend; \
|
||||
*remainder = do_div(result,divisor); \
|
||||
result; \
|
||||
})
|
||||
#endif
|
||||
|
||||
/*
|
||||
* The following defines establish the engineering parameters of the PLL
|
||||
@@ -373,8 +364,11 @@ jiffies_to_timeval(const unsigned long jiffies, struct timeval *value)
|
||||
* one divide.
|
||||
*/
|
||||
u64 nsec = (u64)jiffies * TICK_NSEC;
|
||||
value->tv_sec = div_long_long_rem(nsec, NSEC_PER_SEC, &value->tv_usec);
|
||||
value->tv_usec /= NSEC_PER_USEC;
|
||||
long tv_usec;
|
||||
|
||||
value->tv_sec = div_long_long_rem(nsec, NSEC_PER_SEC, &tv_usec);
|
||||
tv_usec /= NSEC_PER_USEC;
|
||||
value->tv_usec = tv_usec;
|
||||
}
|
||||
|
||||
/*
|
||||
|
||||
Reference in New Issue
Block a user