[rcu:dev.2020.05.31a 79/79] arch/m68k/include/asm/delay.h:123:19: error: called object 'ndelay' is not a function or function pointer

From: kbuild test robot
Date: Mon Jun 01 2020 - 13:56:41 EST


tree: https://git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-rcu.git dev.2020.05.31a
head: d4a44f7b283b30d89a9d3b68266ecde58fc92aab
commit: d4a44f7b283b30d89a9d3b68266ecde58fc92aab [79/79] refperf: Change readdelay module parameter to nanoseconds
config: m68k-allmodconfig (attached as .config)
compiler: m68k-linux-gcc (GCC) 9.3.0
reproduce (this is a W=1 build):
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
git checkout d4a44f7b283b30d89a9d3b68266ecde58fc92aab
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross ARCH=m68k

If you fix the issue, kindly add following tag as appropriate
Reported-by: kbuild test robot <lkp@xxxxxxxxx>

All errors (new ones prefixed by >>, old ones prefixed by <<):

In file included from arch/m68k/include/asm/io_mm.h:25,
from arch/m68k/include/asm/io.h:8,
from include/linux/io.h:13,
from include/linux/irq.h:20,
from include/asm-generic/hardirq.h:13,
from ./arch/m68k/include/generated/asm/hardirq.h:1,
from include/linux/hardirq.h:9,
from include/linux/interrupt.h:11,
from kernel/rcu/refperf.c:19:
arch/m68k/include/asm/raw_io.h: In function 'raw_rom_outsb':
arch/m68k/include/asm/raw_io.h:83:7: warning: variable '__w' set but not used [-Wunused-but-set-variable]
83 | ({u8 __w, __v = (b); u32 _addr = ((u32) (addr)); | ^~~
arch/m68k/include/asm/raw_io.h:430:3: note: in expansion of macro 'rom_out_8'
430 | rom_out_8(port, *buf++);
| ^~~~~~~~~
arch/m68k/include/asm/raw_io.h: In function 'raw_rom_outsw':
arch/m68k/include/asm/raw_io.h:86:8: warning: variable '__w' set but not used [-Wunused-but-set-variable]
86 | ({u16 __w, __v = (w); u32 _addr = ((u32) (addr)); | ^~~
arch/m68k/include/asm/raw_io.h:448:3: note: in expansion of macro 'rom_out_be16'
448 | rom_out_be16(port, *buf++);
| ^~~~~~~~~~~~
arch/m68k/include/asm/raw_io.h: In function 'raw_rom_outsw_swapw':
arch/m68k/include/asm/raw_io.h:90:8: warning: variable '__w' set but not used [-Wunused-but-set-variable]
90 | ({u16 __w, __v = (w); u32 _addr = ((u32) (addr)); | ^~~
arch/m68k/include/asm/raw_io.h:466:3: note: in expansion of macro 'rom_out_le16'
466 | rom_out_le16(port, *buf++);
| ^~~~~~~~~~~~
In file included from include/linux/delay.h:26,
from kernel/rcu/refperf.c:16:
kernel/rcu/refperf.c: In function 'ref_rcu_delay_section':
>> arch/m68k/include/asm/delay.h:123:19: error: called object 'ndelay' is not a function or function pointer
123 | #define ndelay(n) ndelay(n)
| ^~~~~~
kernel/rcu/refperf.c:141:4: note: in expansion of macro 'ndelay'
141 | ndelay(ndelay);
| ^~~~~~
kernel/rcu/refperf.c:132:69: note: declared here
132 | ref_rcu_delay_section(const int nloops, const int udelay, const int ndelay)
| ~~~~~~~~~~^~~~~~
In file included from include/linux/delay.h:26,
from kernel/rcu/refperf.c:16:
kernel/rcu/refperf.c: In function 'srcu_ref_perf_delay_section':
>> arch/m68k/include/asm/delay.h:123:19: error: called object 'ndelay' is not a function or function pointer
123 | #define ndelay(n) ndelay(n)
| ^~~~~~
kernel/rcu/refperf.c:184:4: note: in expansion of macro 'ndelay'
184 | ndelay(ndelay);
| ^~~~~~
kernel/rcu/refperf.c:174:34: note: declared here
174 | const int udelay, const int ndelay)
| ~~~~~~~~~~^~~~~~
In file included from include/linux/delay.h:26,
from kernel/rcu/refperf.c:16:
kernel/rcu/refperf.c: In function 'ref_refcnt_delay_section':
>> arch/m68k/include/asm/delay.h:123:19: error: called object 'ndelay' is not a function or function pointer
123 | #define ndelay(n) ndelay(n)
| ^~~~~~
kernel/rcu/refperf.c:219:4: note: in expansion of macro 'ndelay'
219 | ndelay(ndelay);
| ^~~~~~
kernel/rcu/refperf.c:210:72: note: declared here
210 | ref_refcnt_delay_section(const int nloops, const int udelay, const int ndelay)
| ~~~~~~~~~~^~~~~~
In file included from include/linux/delay.h:26,
from kernel/rcu/refperf.c:16:
kernel/rcu/refperf.c: In function 'ref_rwlock_delay_section':
>> arch/m68k/include/asm/delay.h:123:19: error: called object 'ndelay' is not a function or function pointer
123 | #define ndelay(n) ndelay(n)
| ^~~~~~
kernel/rcu/refperf.c:259:4: note: in expansion of macro 'ndelay'
259 | ndelay(ndelay);
| ^~~~~~
kernel/rcu/refperf.c:250:72: note: declared here
250 | ref_rwlock_delay_section(const int nloops, const int udelay, const int ndelay)
| ~~~~~~~~~~^~~~~~
In file included from include/linux/delay.h:26,
from kernel/rcu/refperf.c:16:
kernel/rcu/refperf.c: In function 'ref_rwsem_delay_section':
>> arch/m68k/include/asm/delay.h:123:19: error: called object 'ndelay' is not a function or function pointer
123 | #define ndelay(n) ndelay(n)
| ^~~~~~
kernel/rcu/refperf.c:299:4: note: in expansion of macro 'ndelay'
299 | ndelay(ndelay);
| ^~~~~~
kernel/rcu/refperf.c:290:71: note: declared here
290 | ref_rwsem_delay_section(const int nloops, const int udelay, const int ndelay)
| ~~~~~~~~~~^~~~~~

vim +/ndelay +123 arch/m68k/include/asm/delay.h

c8ee038bd14881 Michael Schmitz 2013-04-06 115
d8441ba80c55aa Boris Brezillon 2018-05-13 116 static inline void ndelay(unsigned long nsec)
d8441ba80c55aa Boris Brezillon 2018-05-13 117 {
d8441ba80c55aa Boris Brezillon 2018-05-13 118 __delay(DIV_ROUND_UP(nsec *
d8441ba80c55aa Boris Brezillon 2018-05-13 119 ((((HZSCALE) >> 11) *
d8441ba80c55aa Boris Brezillon 2018-05-13 120 (loops_per_jiffy >> 11)) >> 6),
d8441ba80c55aa Boris Brezillon 2018-05-13 121 1000));
d8441ba80c55aa Boris Brezillon 2018-05-13 122 }
d8441ba80c55aa Boris Brezillon 2018-05-13 @123 #define ndelay(n) ndelay(n)
7c946199cd5eab Greg Ungerer 2011-07-01 124

:::::: The code at line 123 was first introduced by commit
:::::: d8441ba80c55aad435e4b98fe0d7ad5d21e46bf9 m68k: Implement ndelay() as an inline function to force type checking/casting

:::::: TO: Boris Brezillon <boris.brezillon@xxxxxxxxxxx>
:::::: CC: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx>

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@xxxxxxxxxxxx

Attachment: .config.gz
Description: application/gzip