Re: [PATCH] powerpc: cputime: fix a compile warning

From: yjin
Date: Thu Dec 01 2016 - 00:05:31 EST


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@xxxxxxxxxxxxx wrote:
From: Yanjiang Jin <yanjiang.jin@xxxxxxxxxxxxx>

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 <yanjiang.jin@xxxxxxxxxxxxx>
---
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