Thread (6 messages) flat view 6 messages, 2 authors, 2021-03-23

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.h 
b/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.h
My 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.

Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help