* [csky-linux:v5.12-rc4-riscv-atomic-arch-v3 4/5] include/linux/atomic-fallback.h:1434:1: error: static declaration of 'atomic64_add_return' follows non-static declaration
@ 2021-04-19 18:37 kernel test robot
0 siblings, 0 replies; only message in thread
From: kernel test robot @ 2021-04-19 18:37 UTC (permalink / raw)
To: kbuild-all
[-- Attachment #1: Type: text/plain, Size: 28754 bytes --]
tree: https://github.com/c-sky/csky-linux v5.12-rc4-riscv-atomic-arch-v3
head: 516baf028b48129e1941ad764ef9a13271830bdc
commit: d985500eec5b9fa31462e5aa2b712b719d0de356 [4/5] locking/atomics: Fixup GENERIC_ATOMIC64 conflict with atomic-arch-fallback.h
config: sparc-randconfig-r025-20210419 (attached as .config)
compiler: sparc64-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
# https://github.com/c-sky/csky-linux/commit/d985500eec5b9fa31462e5aa2b712b719d0de356
git remote add csky-linux https://github.com/c-sky/csky-linux
git fetch --no-tags csky-linux v5.12-rc4-riscv-atomic-arch-v3
git checkout d985500eec5b9fa31462e5aa2b712b719d0de356
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross W=1 ARCH=sparc
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>
All errors (new ones prefixed by >>):
In file included from include/linux/atomic.h:84,
from include/asm-generic/bitops/lock.h:5,
from arch/sparc/include/asm/bitops_32.h:102,
from arch/sparc/include/asm/bitops.h:7,
from include/linux/bitops.h:32,
from include/linux/kernel.h:11,
from arch/sparc/vdso/vdso32/../vclock_gettime.c:15,
from arch/sparc/vdso/vdso32/vclock_gettime.c:22:
>> include/linux/atomic-fallback.h:1434:1: error: static declaration of 'atomic64_add_return' follows non-static declaration
1434 | atomic64_add_return(s64 i, atomic64_t *v)
| ^~~~~~~~~~~~~~~~~~~
In file included from arch/sparc/include/asm/atomic_32.h:19,
from arch/sparc/include/asm/atomic.h:7,
from include/linux/atomic.h:7,
from include/asm-generic/bitops/lock.h:5,
from arch/sparc/include/asm/bitops_32.h:102,
from arch/sparc/include/asm/bitops.h:7,
from include/linux/bitops.h:32,
from include/linux/kernel.h:11,
from arch/sparc/vdso/vdso32/../vclock_gettime.c:15,
from arch/sparc/vdso/vdso32/vclock_gettime.c:22:
include/asm-generic/atomic64.h:27:12: note: previous declaration of 'atomic64_add_return' was here
27 | extern s64 atomic64_##op##_return(s64 a, atomic64_t *v);
| ^~~~~~~~~
include/asm-generic/atomic64.h:32:42: note: in expansion of macro 'ATOMIC64_OP_RETURN'
32 | #define ATOMIC64_OPS(op) ATOMIC64_OP(op) ATOMIC64_OP_RETURN(op) ATOMIC64_FETCH_OP(op)
| ^~~~~~~~~~~~~~~~~~
include/asm-generic/atomic64.h:34:1: note: in expansion of macro 'ATOMIC64_OPS'
34 | ATOMIC64_OPS(add)
| ^~~~~~~~~~~~
In file included from include/linux/atomic.h:84,
from include/asm-generic/bitops/lock.h:5,
from arch/sparc/include/asm/bitops_32.h:102,
from arch/sparc/include/asm/bitops.h:7,
from include/linux/bitops.h:32,
from include/linux/kernel.h:11,
from arch/sparc/vdso/vdso32/../vclock_gettime.c:15,
from arch/sparc/vdso/vdso32/vclock_gettime.c:22:
>> include/linux/atomic-fallback.h:1481:1: error: static declaration of 'atomic64_fetch_add' follows non-static declaration
1481 | atomic64_fetch_add(s64 i, atomic64_t *v)
| ^~~~~~~~~~~~~~~~~~
In file included from arch/sparc/include/asm/atomic_32.h:19,
from arch/sparc/include/asm/atomic.h:7,
from include/linux/atomic.h:7,
from include/asm-generic/bitops/lock.h:5,
from arch/sparc/include/asm/bitops_32.h:102,
from arch/sparc/include/asm/bitops.h:7,
from include/linux/bitops.h:32,
from include/linux/kernel.h:11,
from arch/sparc/vdso/vdso32/../vclock_gettime.c:15,
from arch/sparc/vdso/vdso32/vclock_gettime.c:22:
include/asm-generic/atomic64.h:30:12: note: previous declaration of 'atomic64_fetch_add' was here
30 | extern s64 atomic64_fetch_##op(s64 a, atomic64_t *v);
| ^~~~~~~~~~~~~~~
include/asm-generic/atomic64.h:32:65: note: in expansion of macro 'ATOMIC64_FETCH_OP'
32 | #define ATOMIC64_OPS(op) ATOMIC64_OP(op) ATOMIC64_OP_RETURN(op) ATOMIC64_FETCH_OP(op)
| ^~~~~~~~~~~~~~~~~
include/asm-generic/atomic64.h:34:1: note: in expansion of macro 'ATOMIC64_OPS'
34 | ATOMIC64_OPS(add)
| ^~~~~~~~~~~~
In file included from include/linux/atomic.h:84,
from include/asm-generic/bitops/lock.h:5,
from arch/sparc/include/asm/bitops_32.h:102,
from arch/sparc/include/asm/bitops.h:7,
from include/linux/bitops.h:32,
from include/linux/kernel.h:11,
from arch/sparc/vdso/vdso32/../vclock_gettime.c:15,
from arch/sparc/vdso/vdso32/vclock_gettime.c:22:
include/linux/atomic-fallback.h:1594:1: error: redefinition of 'atomic64_inc'
1594 | atomic64_inc(atomic64_t *v)
| ^~~~~~~~~~~~
In file included from arch/sparc/include/asm/atomic_32.h:19,
from arch/sparc/include/asm/atomic.h:7,
from include/linux/atomic.h:7,
from include/asm-generic/bitops/lock.h:5,
from arch/sparc/include/asm/bitops_32.h:102,
from arch/sparc/include/asm/bitops.h:7,
from include/linux/bitops.h:32,
from include/linux/kernel.h:11,
from arch/sparc/vdso/vdso32/../vclock_gettime.c:15,
from arch/sparc/vdso/vdso32/vclock_gettime.c:22:
include/asm-generic/atomic64.h:75:1: note: previous definition of 'atomic64_inc' was here
75 | atomic64_inc(atomic64_t *v)
| ^~~~~~~~~~~~
In file included from include/linux/atomic.h:84,
from include/asm-generic/bitops/lock.h:5,
from arch/sparc/include/asm/bitops_32.h:102,
from arch/sparc/include/asm/bitops.h:7,
from include/linux/bitops.h:32,
from include/linux/kernel.h:11,
from arch/sparc/vdso/vdso32/../vclock_gettime.c:15,
from arch/sparc/vdso/vdso32/vclock_gettime.c:22:
include/linux/atomic-fallback.h:1615:1: error: redefinition of 'atomic64_inc_return'
1615 | atomic64_inc_return(atomic64_t *v)
| ^~~~~~~~~~~~~~~~~~~
In file included from arch/sparc/include/asm/atomic_32.h:19,
from arch/sparc/include/asm/atomic.h:7,
from include/linux/atomic.h:7,
from include/asm-generic/bitops/lock.h:5,
from arch/sparc/include/asm/bitops_32.h:102,
from arch/sparc/include/asm/bitops.h:7,
from include/linux/bitops.h:32,
from include/linux/kernel.h:11,
from arch/sparc/vdso/vdso32/../vclock_gettime.c:15,
from arch/sparc/vdso/vdso32/vclock_gettime.c:22:
include/asm-generic/atomic64.h:81:1: note: previous definition of 'atomic64_inc_return' was here
81 | atomic64_inc_return(atomic64_t *v)
| ^~~~~~~~~~~~~~~~~~~
In file included from include/linux/atomic.h:84,
from include/asm-generic/bitops/lock.h:5,
from arch/sparc/include/asm/bitops_32.h:102,
from arch/sparc/include/asm/bitops.h:7,
from include/linux/bitops.h:32,
from include/linux/kernel.h:11,
from arch/sparc/vdso/vdso32/../vclock_gettime.c:15,
from arch/sparc/vdso/vdso32/vclock_gettime.c:22:
include/linux/atomic-fallback.h:1701:1: error: redefinition of 'atomic64_fetch_inc'
1701 | atomic64_fetch_inc(atomic64_t *v)
| ^~~~~~~~~~~~~~~~~~
In file included from arch/sparc/include/asm/atomic_32.h:19,
from arch/sparc/include/asm/atomic.h:7,
from include/linux/atomic.h:7,
from include/asm-generic/bitops/lock.h:5,
from arch/sparc/include/asm/bitops_32.h:102,
from arch/sparc/include/asm/bitops.h:7,
from include/linux/bitops.h:32,
from include/linux/kernel.h:11,
from arch/sparc/vdso/vdso32/../vclock_gettime.c:15,
from arch/sparc/vdso/vdso32/vclock_gettime.c:22:
include/asm-generic/atomic64.h:87:1: note: previous definition of 'atomic64_fetch_inc' was here
87 | atomic64_fetch_inc(atomic64_t *v)
| ^~~~~~~~~~~~~~~~~~
In file included from include/linux/atomic.h:84,
from include/asm-generic/bitops/lock.h:5,
from arch/sparc/include/asm/bitops_32.h:102,
from arch/sparc/include/asm/bitops.h:7,
from include/linux/bitops.h:32,
from include/linux/kernel.h:11,
from arch/sparc/vdso/vdso32/../vclock_gettime.c:15,
from arch/sparc/vdso/vdso32/vclock_gettime.c:22:
include/linux/atomic-fallback.h:1777:1: error: redefinition of 'atomic64_dec'
1777 | atomic64_dec(atomic64_t *v)
| ^~~~~~~~~~~~
In file included from arch/sparc/include/asm/atomic_32.h:19,
from arch/sparc/include/asm/atomic.h:7,
from include/linux/atomic.h:7,
from include/asm-generic/bitops/lock.h:5,
from arch/sparc/include/asm/bitops_32.h:102,
from arch/sparc/include/asm/bitops.h:7,
from include/linux/bitops.h:32,
from include/linux/kernel.h:11,
from arch/sparc/vdso/vdso32/../vclock_gettime.c:15,
from arch/sparc/vdso/vdso32/vclock_gettime.c:22:
include/asm-generic/atomic64.h:93:1: note: previous definition of 'atomic64_dec' was here
93 | atomic64_dec(atomic64_t *v)
| ^~~~~~~~~~~~
In file included from include/linux/atomic.h:84,
from include/asm-generic/bitops/lock.h:5,
from arch/sparc/include/asm/bitops_32.h:102,
from arch/sparc/include/asm/bitops.h:7,
from include/linux/bitops.h:32,
from include/linux/kernel.h:11,
from arch/sparc/vdso/vdso32/../vclock_gettime.c:15,
from arch/sparc/vdso/vdso32/vclock_gettime.c:22:
include/linux/atomic-fallback.h:1798:1: error: redefinition of 'atomic64_dec_return'
1798 | atomic64_dec_return(atomic64_t *v)
| ^~~~~~~~~~~~~~~~~~~
In file included from arch/sparc/include/asm/atomic_32.h:19,
from arch/sparc/include/asm/atomic.h:7,
from include/linux/atomic.h:7,
from include/asm-generic/bitops/lock.h:5,
from arch/sparc/include/asm/bitops_32.h:102,
from arch/sparc/include/asm/bitops.h:7,
from include/linux/bitops.h:32,
from include/linux/kernel.h:11,
from arch/sparc/vdso/vdso32/../vclock_gettime.c:15,
from arch/sparc/vdso/vdso32/vclock_gettime.c:22:
include/asm-generic/atomic64.h:99:1: note: previous definition of 'atomic64_dec_return' was here
99 | atomic64_dec_return(atomic64_t *v)
| ^~~~~~~~~~~~~~~~~~~
In file included from include/linux/atomic.h:84,
from include/asm-generic/bitops/lock.h:5,
from arch/sparc/include/asm/bitops_32.h:102,
from arch/sparc/include/asm/bitops.h:7,
from include/linux/bitops.h:32,
from include/linux/kernel.h:11,
from arch/sparc/vdso/vdso32/../vclock_gettime.c:15,
from arch/sparc/vdso/vdso32/vclock_gettime.c:22:
include/linux/atomic-fallback.h:1884:1: error: redefinition of 'atomic64_fetch_dec'
1884 | atomic64_fetch_dec(atomic64_t *v)
| ^~~~~~~~~~~~~~~~~~
In file included from arch/sparc/include/asm/atomic_32.h:19,
from arch/sparc/include/asm/atomic.h:7,
from include/linux/atomic.h:7,
from include/asm-generic/bitops/lock.h:5,
from arch/sparc/include/asm/bitops_32.h:102,
from arch/sparc/include/asm/bitops.h:7,
from include/linux/bitops.h:32,
from include/linux/kernel.h:11,
from arch/sparc/vdso/vdso32/../vclock_gettime.c:15,
from arch/sparc/vdso/vdso32/vclock_gettime.c:22:
include/asm-generic/atomic64.h:105:1: note: previous definition of 'atomic64_fetch_dec' was here
105 | atomic64_fetch_dec(atomic64_t *v)
| ^~~~~~~~~~~~~~~~~~
In file included from include/linux/atomic.h:84,
from include/asm-generic/bitops/lock.h:5,
from arch/sparc/include/asm/bitops_32.h:102,
from arch/sparc/include/asm/bitops.h:7,
from include/linux/bitops.h:32,
from include/linux/kernel.h:11,
from arch/sparc/vdso/vdso32/../vclock_gettime.c:15,
from arch/sparc/vdso/vdso32/vclock_gettime.c:22:
>> include/linux/atomic-fallback.h:2009:1: error: redefinition of 'atomic64_andnot'
2009 | atomic64_andnot(s64 i, atomic64_t *v)
| ^~~~~~~~~~~~~~~
In file included from arch/sparc/include/asm/atomic_32.h:19,
from arch/sparc/include/asm/atomic.h:7,
from include/linux/atomic.h:7,
from include/asm-generic/bitops/lock.h:5,
from arch/sparc/include/asm/bitops_32.h:102,
from arch/sparc/include/asm/bitops.h:7,
from include/linux/bitops.h:32,
from include/linux/kernel.h:11,
from arch/sparc/vdso/vdso32/../vclock_gettime.c:15,
from arch/sparc/vdso/vdso32/vclock_gettime.c:22:
include/asm-generic/atomic64.h:111:1: note: previous definition of 'atomic64_andnot' was here
111 | atomic64_andnot(s64 i, atomic64_t *v)
| ^~~~~~~~~~~~~~~
In file included from include/linux/atomic.h:84,
from include/asm-generic/bitops/lock.h:5,
from arch/sparc/include/asm/bitops_32.h:102,
from arch/sparc/include/asm/bitops.h:7,
from include/linux/bitops.h:32,
from include/linux/kernel.h:11,
from arch/sparc/vdso/vdso32/../vclock_gettime.c:15,
from arch/sparc/vdso/vdso32/vclock_gettime.c:22:
>> include/linux/atomic-fallback.h:2030:1: error: redefinition of 'atomic64_fetch_andnot'
2030 | atomic64_fetch_andnot(s64 i, atomic64_t *v)
| ^~~~~~~~~~~~~~~~~~~~~
In file included from arch/sparc/include/asm/atomic_32.h:19,
from arch/sparc/include/asm/atomic.h:7,
from include/linux/atomic.h:7,
from include/asm-generic/bitops/lock.h:5,
from arch/sparc/include/asm/bitops_32.h:102,
from arch/sparc/include/asm/bitops.h:7,
from include/linux/bitops.h:32,
from include/linux/kernel.h:11,
from arch/sparc/vdso/vdso32/../vclock_gettime.c:15,
from arch/sparc/vdso/vdso32/vclock_gettime.c:22:
include/asm-generic/atomic64.h:117:1: note: previous definition of 'atomic64_fetch_andnot' was here
117 | atomic64_fetch_andnot(s64 i, atomic64_t *v)
| ^~~~~~~~~~~~~~~~~~~~~
In file included from include/linux/atomic.h:84,
from include/asm-generic/bitops/lock.h:5,
from arch/sparc/include/asm/bitops_32.h:102,
from arch/sparc/include/asm/bitops.h:7,
from include/linux/bitops.h:32,
from include/linux/kernel.h:11,
from arch/sparc/vdso/vdso32/../vclock_gettime.c:15,
from arch/sparc/vdso/vdso32/vclock_gettime.c:22:
>> include/linux/atomic-fallback.h:2234:1: error: static declaration of 'atomic64_xchg' follows non-static declaration
2234 | atomic64_xchg(atomic64_t *v, s64 i)
| ^~~~~~~~~~~~~
In file included from arch/sparc/include/asm/atomic_32.h:19,
from arch/sparc/include/asm/atomic.h:7,
from include/linux/atomic.h:7,
from include/asm-generic/bitops/lock.h:5,
from arch/sparc/include/asm/bitops_32.h:102,
from arch/sparc/include/asm/bitops.h:7,
from include/linux/bitops.h:32,
from include/linux/kernel.h:11,
from arch/sparc/vdso/vdso32/../vclock_gettime.c:15,
from arch/sparc/vdso/vdso32/vclock_gettime.c:22:
include/asm-generic/atomic64.h:67:12: note: previous declaration of 'atomic64_xchg' was here
67 | extern s64 atomic64_xchg(atomic64_t *v, s64 new);
| ^~~~~~~~~~~~~
In file included from include/linux/atomic.h:84,
from include/asm-generic/bitops/lock.h:5,
from arch/sparc/include/asm/bitops_32.h:102,
from arch/sparc/include/asm/bitops.h:7,
from include/linux/bitops.h:32,
from include/linux/kernel.h:11,
from arch/sparc/vdso/vdso32/../vclock_gettime.c:15,
from arch/sparc/vdso/vdso32/vclock_gettime.c:22:
include/linux/atomic-fallback.h:2281:1: error: static declaration of 'atomic64_cmpxchg' follows non-static declaration
2281 | atomic64_cmpxchg(atomic64_t *v, s64 old, s64 new)
| ^~~~~~~~~~~~~~~~
In file included from arch/sparc/include/asm/atomic_32.h:19,
from arch/sparc/include/asm/atomic.h:7,
from include/linux/atomic.h:7,
from include/asm-generic/bitops/lock.h:5,
from arch/sparc/include/asm/bitops_32.h:102,
from arch/sparc/include/asm/bitops.h:7,
from include/linux/bitops.h:32,
from include/linux/kernel.h:11,
from arch/sparc/vdso/vdso32/../vclock_gettime.c:15,
from arch/sparc/vdso/vdso32/vclock_gettime.c:22:
include/asm-generic/atomic64.h:63:12: note: previous declaration of 'atomic64_cmpxchg' was here
63 | extern s64 atomic64_cmpxchg(atomic64_t *v, s64 o, s64 n);
| ^~~~~~~~~~~~~~~~
In file included from include/linux/atomic.h:84,
from include/asm-generic/bitops/lock.h:5,
from arch/sparc/include/asm/bitops_32.h:102,
from arch/sparc/include/asm/bitops.h:7,
from include/linux/bitops.h:32,
from include/linux/kernel.h:11,
from arch/sparc/vdso/vdso32/../vclock_gettime.c:15,
from arch/sparc/vdso/vdso32/vclock_gettime.c:22:
include/linux/atomic-fallback.h:2409:1: error: conflicting types for 'atomic64_sub_and_test'
2409 | atomic64_sub_and_test(s64 i, atomic64_t *v)
| ^~~~~~~~~~~~~~~~~~~~~
In file included from arch/sparc/include/asm/atomic_32.h:19,
from arch/sparc/include/asm/atomic.h:7,
from include/linux/atomic.h:7,
from include/asm-generic/bitops/lock.h:5,
from arch/sparc/include/asm/bitops_32.h:102,
from arch/sparc/include/asm/bitops.h:7,
from include/linux/bitops.h:32,
from include/linux/kernel.h:11,
from arch/sparc/vdso/vdso32/../vclock_gettime.c:15,
from arch/sparc/vdso/vdso32/vclock_gettime.c:22:
include/asm-generic/atomic64.h:123:1: note: previous definition of 'atomic64_sub_and_test' was here
123 | atomic64_sub_and_test(int i, atomic64_t *v)
| ^~~~~~~~~~~~~~~~~~~~~
In file included from include/linux/atomic.h:84,
from include/asm-generic/bitops/lock.h:5,
from arch/sparc/include/asm/bitops_32.h:102,
from arch/sparc/include/asm/bitops.h:7,
from include/linux/bitops.h:32,
from include/linux/kernel.h:11,
from arch/sparc/vdso/vdso32/../vclock_gettime.c:15,
from arch/sparc/vdso/vdso32/vclock_gettime.c:22:
include/linux/atomic-fallback.h:2428:1: error: redefinition of 'atomic64_dec_and_test'
2428 | atomic64_dec_and_test(atomic64_t *v)
| ^~~~~~~~~~~~~~~~~~~~~
In file included from arch/sparc/include/asm/atomic_32.h:19,
from arch/sparc/include/asm/atomic.h:7,
from include/linux/atomic.h:7,
from include/asm-generic/bitops/lock.h:5,
from arch/sparc/include/asm/bitops_32.h:102,
from arch/sparc/include/asm/bitops.h:7,
from include/linux/bitops.h:32,
from include/linux/kernel.h:11,
from arch/sparc/vdso/vdso32/../vclock_gettime.c:15,
from arch/sparc/vdso/vdso32/vclock_gettime.c:22:
include/asm-generic/atomic64.h:129:1: note: previous definition of 'atomic64_dec_and_test' was here
129 | atomic64_dec_and_test(atomic64_t *v)
| ^~~~~~~~~~~~~~~~~~~~~
In file included from include/linux/atomic.h:84,
from include/asm-generic/bitops/lock.h:5,
from arch/sparc/include/asm/bitops_32.h:102,
from arch/sparc/include/asm/bitops.h:7,
from include/linux/bitops.h:32,
from include/linux/kernel.h:11,
from arch/sparc/vdso/vdso32/../vclock_gettime.c:15,
from arch/sparc/vdso/vdso32/vclock_gettime.c:22:
include/linux/atomic-fallback.h:2447:1: error: redefinition of 'atomic64_inc_and_test'
2447 | atomic64_inc_and_test(atomic64_t *v)
| ^~~~~~~~~~~~~~~~~~~~~
In file included from arch/sparc/include/asm/atomic_32.h:19,
from arch/sparc/include/asm/atomic.h:7,
Kconfig warnings: (for reference only)
WARNING: unmet direct dependencies detected for FRAME_POINTER
Depends on DEBUG_KERNEL && (M68K || UML || SUPERH) || ARCH_WANT_FRAME_POINTERS || MCOUNT
Selected by
- LOCKDEP && DEBUG_KERNEL && LOCK_DEBUGGING_SUPPORT && !MIPS && !PPC && !ARM && !S390 && !MICROBLAZE && !ARC && !X86
vim +/atomic64_add_return +1434 include/linux/atomic-fallback.h
9fa45070a2e59a Mark Rutland 2018-09-04 1431
9fa45070a2e59a Mark Rutland 2018-09-04 1432 #ifndef atomic64_add_return
765dcd209947e7 Marco Elver 2019-11-26 1433 static __always_inline s64
9fa45070a2e59a Mark Rutland 2018-09-04 @1434 atomic64_add_return(s64 i, atomic64_t *v)
9fa45070a2e59a Mark Rutland 2018-09-04 1435 {
9fa45070a2e59a Mark Rutland 2018-09-04 1436 s64 ret;
9fa45070a2e59a Mark Rutland 2018-09-04 1437 __atomic_pre_full_fence();
9fa45070a2e59a Mark Rutland 2018-09-04 1438 ret = atomic64_add_return_relaxed(i, v);
9fa45070a2e59a Mark Rutland 2018-09-04 1439 __atomic_post_full_fence();
9fa45070a2e59a Mark Rutland 2018-09-04 1440 return ret;
9fa45070a2e59a Mark Rutland 2018-09-04 1441 }
9fa45070a2e59a Mark Rutland 2018-09-04 1442 #define atomic64_add_return atomic64_add_return
9fa45070a2e59a Mark Rutland 2018-09-04 1443 #endif
9fa45070a2e59a Mark Rutland 2018-09-04 1444
9fa45070a2e59a Mark Rutland 2018-09-04 1445 #endif /* atomic64_add_return_relaxed */
9fa45070a2e59a Mark Rutland 2018-09-04 1446
5faafd5685764e Peter Zijlstra 2020-06-25 1447 #define arch_atomic64_fetch_add atomic64_fetch_add
5faafd5685764e Peter Zijlstra 2020-06-25 1448 #define arch_atomic64_fetch_add_acquire atomic64_fetch_add_acquire
5faafd5685764e Peter Zijlstra 2020-06-25 1449 #define arch_atomic64_fetch_add_release atomic64_fetch_add_release
5faafd5685764e Peter Zijlstra 2020-06-25 1450 #define arch_atomic64_fetch_add_relaxed atomic64_fetch_add_relaxed
5faafd5685764e Peter Zijlstra 2020-06-25 1451
9fa45070a2e59a Mark Rutland 2018-09-04 1452 #ifndef atomic64_fetch_add_relaxed
9fa45070a2e59a Mark Rutland 2018-09-04 1453 #define atomic64_fetch_add_acquire atomic64_fetch_add
9fa45070a2e59a Mark Rutland 2018-09-04 1454 #define atomic64_fetch_add_release atomic64_fetch_add
9fa45070a2e59a Mark Rutland 2018-09-04 1455 #define atomic64_fetch_add_relaxed atomic64_fetch_add
9fa45070a2e59a Mark Rutland 2018-09-04 1456 #else /* atomic64_fetch_add_relaxed */
9fa45070a2e59a Mark Rutland 2018-09-04 1457
9fa45070a2e59a Mark Rutland 2018-09-04 1458 #ifndef atomic64_fetch_add_acquire
765dcd209947e7 Marco Elver 2019-11-26 1459 static __always_inline s64
9fa45070a2e59a Mark Rutland 2018-09-04 1460 atomic64_fetch_add_acquire(s64 i, atomic64_t *v)
9fa45070a2e59a Mark Rutland 2018-09-04 1461 {
9fa45070a2e59a Mark Rutland 2018-09-04 1462 s64 ret = atomic64_fetch_add_relaxed(i, v);
9fa45070a2e59a Mark Rutland 2018-09-04 1463 __atomic_acquire_fence();
9fa45070a2e59a Mark Rutland 2018-09-04 1464 return ret;
9fa45070a2e59a Mark Rutland 2018-09-04 1465 }
9fa45070a2e59a Mark Rutland 2018-09-04 1466 #define atomic64_fetch_add_acquire atomic64_fetch_add_acquire
9fa45070a2e59a Mark Rutland 2018-09-04 1467 #endif
9fa45070a2e59a Mark Rutland 2018-09-04 1468
9fa45070a2e59a Mark Rutland 2018-09-04 1469 #ifndef atomic64_fetch_add_release
765dcd209947e7 Marco Elver 2019-11-26 1470 static __always_inline s64
9fa45070a2e59a Mark Rutland 2018-09-04 1471 atomic64_fetch_add_release(s64 i, atomic64_t *v)
9fa45070a2e59a Mark Rutland 2018-09-04 1472 {
9fa45070a2e59a Mark Rutland 2018-09-04 1473 __atomic_release_fence();
9fa45070a2e59a Mark Rutland 2018-09-04 1474 return atomic64_fetch_add_relaxed(i, v);
9fa45070a2e59a Mark Rutland 2018-09-04 1475 }
9fa45070a2e59a Mark Rutland 2018-09-04 1476 #define atomic64_fetch_add_release atomic64_fetch_add_release
9fa45070a2e59a Mark Rutland 2018-09-04 1477 #endif
9fa45070a2e59a Mark Rutland 2018-09-04 1478
9fa45070a2e59a Mark Rutland 2018-09-04 1479 #ifndef atomic64_fetch_add
765dcd209947e7 Marco Elver 2019-11-26 1480 static __always_inline s64
9fa45070a2e59a Mark Rutland 2018-09-04 @1481 atomic64_fetch_add(s64 i, atomic64_t *v)
9fa45070a2e59a Mark Rutland 2018-09-04 1482 {
9fa45070a2e59a Mark Rutland 2018-09-04 1483 s64 ret;
9fa45070a2e59a Mark Rutland 2018-09-04 1484 __atomic_pre_full_fence();
9fa45070a2e59a Mark Rutland 2018-09-04 1485 ret = atomic64_fetch_add_relaxed(i, v);
9fa45070a2e59a Mark Rutland 2018-09-04 1486 __atomic_post_full_fence();
9fa45070a2e59a Mark Rutland 2018-09-04 1487 return ret;
9fa45070a2e59a Mark Rutland 2018-09-04 1488 }
9fa45070a2e59a Mark Rutland 2018-09-04 1489 #define atomic64_fetch_add atomic64_fetch_add
9fa45070a2e59a Mark Rutland 2018-09-04 1490 #endif
9fa45070a2e59a Mark Rutland 2018-09-04 1491
:::::: The code at line 1434 was first introduced by commit
:::::: 9fa45070a2e59a871e1cd3370173369f3a4f61e2 locking/atomics: Switch to generated fallbacks
:::::: TO: Mark Rutland <mark.rutland@arm.com>
:::::: CC: Ingo Molnar <mingo@kernel.org>
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org
[-- Attachment #2: config.gz --]
[-- Type: application/gzip, Size: 20565 bytes --]
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2021-04-19 18:37 UTC | newest]
Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-04-19 18:37 [csky-linux:v5.12-rc4-riscv-atomic-arch-v3 4/5] include/linux/atomic-fallback.h:1434:1: error: static declaration of 'atomic64_add_return' follows non-static declaration kernel test robot
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.