Hi Scott, Thanks for your reminder! I rephrased it as below: -#define cputime64_to_clock_t(ct) cputime_to_clock_t((cputime_t)(ct)) +#define cputime64_to_clock_t(ct) \ + (u64)(cputime_to_clock_t((cputime_t)(ct))) and rebuilt the kernel, no warnings found. New patch is attached, could you also help me to review it? Regards! Yanjiang On 2016年11月30日 22:40, Scott Wood wrote: > On Mon, 2016-11-21 at 12:56 +0800, yanjiang.jin@windriver.com wrote: >> From: Yanjiang Jin >> >> This patch is to avoid the below warning: >> >> kernel/sched/cpuacct.c:298:25: warning: >> format '%lld' expects argument of type 'long long int', >> but argument 4 has type 'long unsigned int' [-Wformat=] >> >> Signed-off-by: Yanjiang Jin >> --- >> arch/powerpc/include/asm/cputime.h | 3 ++- >> 1 file changed, 2 insertions(+), 1 deletion(-) >> >> diff --git a/arch/powerpc/include/asm/cputime.h >> b/arch/powerpc/include/asm/cputime.h >> index 4f60db0..4423e97 100644 >> --- a/arch/powerpc/include/asm/cputime.h >> +++ b/arch/powerpc/include/asm/cputime.h >> @@ -228,7 +228,8 @@ static inline cputime_t clock_t_to_cputime(const >> unsigned long clk) >> return (__force cputime_t) ct; >> } >> >> -#define cputime64_to_clock_t(ct) cputime_to_clock_t((cputime_t)(ct)) >> +#define cputime64_to_clock_t(ct) \ >> + (__force u64)(cputime_to_clock_t((cputime_t)(ct))) > Why is __force needed? > > -Scott >