Re: [PATCH -next] powerpc: kernel/time.c - cleanup warnings
From: heying (H) <hidden>
Date: 2021-03-23 06:54:19
Also in:
lkml
Dear Christophe, 在 2021/3/23 14:33, Christophe Leroy 写道:
Le 23/03/2021 à 07:21, heying (H) a écrit :quoted
Dear Christophe, 在 2021/3/18 10:28, heying (H) 写道:quoted
在 2021/3/17 19:16, Christophe Leroy 写道:quoted
Le 17/03/2021 à 11:34, He Ying a écrit :quoted
We found these warnings in arch/powerpc/kernel/time.c as follows: warning: symbol 'decrementer_max' was not declared. Should it be static? warning: symbol 'rtc_lock' was not declared. Should it be static? warning: symbol 'dtl_consumer' was not declared. Should it be static? Declare 'decrementer_max' in arch/powerpc/include/asm/time.h. And include proper header in which 'rtc_lock' is declared. Move 'dtl_consumer' definition behind "include <asm/dtl.h>" because 'dtl_consumer' is declared there. Reported-by: Hulk Robot <redacted> Signed-off-by: He Ying <redacted> --- arch/powerpc/include/asm/time.h | 1 + arch/powerpc/kernel/time.c | 7 +++---- 2 files changed, 4 insertions(+), 4 deletions(-)diff --git a/arch/powerpc/include/asm/time.hb/arch/powerpc/include/asm/time.h index 8dd3cdb25338..2cd2b50bedda 100644--- a/arch/powerpc/include/asm/time.h +++ b/arch/powerpc/include/asm/time.h@@ -22,6 +22,7 @@ extern unsigned long tb_ticks_per_jiffy;extern unsigned long tb_ticks_per_usec; extern unsigned long tb_ticks_per_sec; extern struct clock_event_device decrementer_clockevent; +extern u64 decrementer_max; extern void generic_calibrate_decr(void);diff --git a/arch/powerpc/kernel/time.c b/arch/powerpc/kernel/time.c index b67d93a609a2..409967713ca6 100644 --- a/arch/powerpc/kernel/time.c +++ b/arch/powerpc/kernel/time.c@@ -55,6 +55,7 @@#include <linux/sched/cputime.h> #include <linux/sched/clock.h> #include <linux/processor.h> +#include <linux/mc146818rtc.h>I don't think that's the good place. It has no link to powerpc, it is only by chance that it has the same name. As rtc_lock is defined in powerpc time.c, I think you should declare it in powerpc asm/time.hMy first thought was the same as yours. I tried to add declaration in powerpc asm/time.h, but got a compiling error: drivers/rtc/rtc-vr41xx.c:75:24: error: static declaration of ‘rtc_lock’ follows non-static declaration static DEFINE_SPINLOCK(rtc_lock); In file included from ./arch/powerpc/include/asm/delay.h:7:0, from ./arch/powerpc/include/asm/io.h:33, from ./include/linux/io.h:13, from drivers/rtc/rtc-vr41xx.c:11: ./arch/powerpc/include/asm/time.h:25:19: note: previous declaration of ‘rtc_lock’ was here extern spinlock_t rtc_lock; There's a conflict. Perhaps I can rename it in drivers/rtc/rtc-vr41xx.c. But I find an existing declaration in linux/mc146818rtc.h and there's only one definition for 'rtc_lock' in powerpc. There's some includes of mc146818rtc.h in powperc. I wonder they point to the same thing. But I'm not very sure because the header's name looks a bit strange.How about including mc146818rtc.h in powperpc kernel/time.c? May I have your opinions please?As I said, mc146818rtc.h is not related to powerpc, and if it works that's just chance, and there is no certainty that it will still work in the future. If you can't find a clean solution, it is better to leave the warning.
OK. I see. Thanks for you relpy. I'll try to find some other better way. Thanks.