[csky-linux:v5.12-rc4-riscv-atomic-arch 4/4] include/linux/atomic-arch-fallback.h:1463:9: error: implicit declaration of function 'arch_atomic64_add_return'
by kernel test robot
tree: https://github.com/c-sky/csky-linux v5.12-rc4-riscv-atomic-arch
head: c03ab3439319e20825642c84c3f23c968dfef552
commit: c03ab3439319e20825642c84c3f23c968dfef552 [4/4] riscv: atomic: Using ARCH_ATOMIC in asm/atomic.h
config: riscv-randconfig-r021-20210415 (attached as .config)
compiler: clang version 13.0.0 (https://github.com/llvm/llvm-project 6a18cc23efad410db48a3ccfc233d215de7d4cb9)
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
# install riscv cross compiling tool for clang build
# apt-get install binutils-riscv64-linux-gnu
# https://github.com/c-sky/csky-linux/commit/c03ab3439319e20825642c84c3f23c...
git remote add csky-linux https://github.com/c-sky/csky-linux
git fetch --no-tags csky-linux v5.12-rc4-riscv-atomic-arch
git checkout c03ab3439319e20825642c84c3f23c968dfef552
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 ARCH=riscv
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All errors (new ones prefixed by >>):
In file included from arch/riscv/kernel/asm-offsets.c:10:
In file included from include/linux/sched.h:14:
In file included from include/linux/pid.h:5:
In file included from include/linux/rculist.h:11:
In file included from include/linux/rcupdate.h:25:
In file included from include/linux/atomic.h:81:
>> include/linux/atomic-arch-fallback.h:1447:2: error: implicit declaration of function 'arch_atomic64_add' [-Werror,-Wimplicit-function-declaration]
arch_atomic64_add(1, v);
^
include/linux/atomic-arch-fallback.h:1447:2: note: did you mean 'arch_atomic_add'?
arch/riscv/include/asm/atomic.h:57:1: note: 'arch_atomic_add' declared here
ATOMIC_OPS(add, add, i)
^
arch/riscv/include/asm/atomic.h:50:9: note: expanded from macro 'ATOMIC_OPS'
ATOMIC_OP (op, asm_op, I, w, int, )
^
arch/riscv/include/asm/atomic.h:39:6: note: expanded from macro 'ATOMIC_OP'
void arch_atomic##prefix##_##op(c_type i, atomic##prefix##_t *v) \
^
<scratch space>:139:1: note: expanded from here
arch_atomic_add
^
In file included from arch/riscv/kernel/asm-offsets.c:10:
In file included from include/linux/sched.h:14:
In file included from include/linux/pid.h:5:
In file included from include/linux/rculist.h:11:
In file included from include/linux/rcupdate.h:25:
In file included from include/linux/atomic.h:81:
>> include/linux/atomic-arch-fallback.h:1463:9: error: implicit declaration of function 'arch_atomic64_add_return' [-Werror,-Wimplicit-function-declaration]
return arch_atomic64_add_return(1, v);
^
include/linux/atomic-arch-fallback.h:1463:9: note: did you mean 'arch_atomic_add_return'?
arch/riscv/include/asm/atomic.h:128:1: note: 'arch_atomic_add_return' declared here
ATOMIC_OPS(add, add, +, i)
^
arch/riscv/include/asm/atomic.h:119:9: note: expanded from macro 'ATOMIC_OPS'
ATOMIC_OP_RETURN(op, asm_op, c_op, I, w, int, )
^
arch/riscv/include/asm/atomic.h:110:8: note: expanded from macro 'ATOMIC_OP_RETURN'
c_type arch_atomic##prefix##_##op##_return(c_type i, \
^
<scratch space>:186:1: note: expanded from here
arch_atomic_add_return
^
In file included from arch/riscv/kernel/asm-offsets.c:10:
In file included from include/linux/sched.h:14:
In file included from include/linux/pid.h:5:
In file included from include/linux/rculist.h:11:
In file included from include/linux/rcupdate.h:25:
In file included from include/linux/atomic.h:81:
include/linux/atomic-arch-fallback.h:1472:9: error: implicit declaration of function 'arch_atomic64_add_return' [-Werror,-Wimplicit-function-declaration]
return arch_atomic64_add_return_acquire(1, v);
^
include/linux/atomic-arch-fallback.h:1276:42: note: expanded from macro 'arch_atomic64_add_return_acquire'
#define arch_atomic64_add_return_acquire arch_atomic64_add_return
^
include/linux/atomic-arch-fallback.h:1481:9: error: implicit declaration of function 'arch_atomic64_add_return' [-Werror,-Wimplicit-function-declaration]
return arch_atomic64_add_return_release(1, v);
^
include/linux/atomic-arch-fallback.h:1277:42: note: expanded from macro 'arch_atomic64_add_return_release'
#define arch_atomic64_add_return_release arch_atomic64_add_return
^
include/linux/atomic-arch-fallback.h:1490:9: error: implicit declaration of function 'arch_atomic64_add_return' [-Werror,-Wimplicit-function-declaration]
return arch_atomic64_add_return_relaxed(1, v);
^
include/linux/atomic-arch-fallback.h:1278:42: note: expanded from macro 'arch_atomic64_add_return_relaxed'
#define arch_atomic64_add_return_relaxed arch_atomic64_add_return
^
>> include/linux/atomic-arch-fallback.h:1544:9: error: implicit declaration of function 'arch_atomic64_fetch_add' [-Werror,-Wimplicit-function-declaration]
return arch_atomic64_fetch_add(1, v);
^
include/linux/atomic-arch-fallback.h:1544:9: note: did you mean 'arch_atomic_fetch_add'?
arch/riscv/include/asm/atomic.h:128:1: note: 'arch_atomic_fetch_add' declared here
ATOMIC_OPS(add, add, +, i)
^
arch/riscv/include/asm/atomic.h:118:9: note: expanded from macro 'ATOMIC_OPS'
ATOMIC_FETCH_OP( op, asm_op, I, w, int, ) \
^
arch/riscv/include/asm/atomic.h:91:8: note: expanded from macro 'ATOMIC_FETCH_OP'
c_type arch_atomic##prefix##_fetch_##op(c_type i, atomic##prefix##_t *v)\
^
<scratch space>:175:1: note: expanded from here
arch_atomic_fetch_add
^
In file included from arch/riscv/kernel/asm-offsets.c:10:
In file included from include/linux/sched.h:14:
In file included from include/linux/pid.h:5:
In file included from include/linux/rculist.h:11:
In file included from include/linux/rcupdate.h:25:
In file included from include/linux/atomic.h:81:
include/linux/atomic-arch-fallback.h:1553:9: error: implicit declaration of function 'arch_atomic64_fetch_add' [-Werror,-Wimplicit-function-declaration]
return arch_atomic64_fetch_add_acquire(1, v);
^
include/linux/atomic-arch-fallback.h:1318:41: note: expanded from macro 'arch_atomic64_fetch_add_acquire'
#define arch_atomic64_fetch_add_acquire arch_atomic64_fetch_add
^
include/linux/atomic-arch-fallback.h:1562:9: error: implicit declaration of function 'arch_atomic64_fetch_add' [-Werror,-Wimplicit-function-declaration]
return arch_atomic64_fetch_add_release(1, v);
^
include/linux/atomic-arch-fallback.h:1319:41: note: expanded from macro 'arch_atomic64_fetch_add_release'
#define arch_atomic64_fetch_add_release arch_atomic64_fetch_add
^
include/linux/atomic-arch-fallback.h:1571:9: error: implicit declaration of function 'arch_atomic64_fetch_add' [-Werror,-Wimplicit-function-declaration]
return arch_atomic64_fetch_add_relaxed(1, v);
^
include/linux/atomic-arch-fallback.h:1320:41: note: expanded from macro 'arch_atomic64_fetch_add_relaxed'
#define arch_atomic64_fetch_add_relaxed arch_atomic64_fetch_add
^
>> include/linux/atomic-arch-fallback.h:1618:2: error: implicit declaration of function 'arch_atomic64_sub' [-Werror,-Wimplicit-function-declaration]
arch_atomic64_sub(1, v);
^
include/linux/atomic-arch-fallback.h:1618:2: note: did you mean 'arch_atomic_sub'?
arch/riscv/include/asm/atomic.h:58:1: note: 'arch_atomic_sub' declared here
ATOMIC_OPS(sub, add, -i)
^
arch/riscv/include/asm/atomic.h:50:9: note: expanded from macro 'ATOMIC_OPS'
ATOMIC_OP (op, asm_op, I, w, int, )
^
arch/riscv/include/asm/atomic.h:39:6: note: expanded from macro 'ATOMIC_OP'
void arch_atomic##prefix##_##op(c_type i, atomic##prefix##_t *v) \
^
<scratch space>:144:1: note: expanded from here
arch_atomic_sub
^
In file included from arch/riscv/kernel/asm-offsets.c:10:
In file included from include/linux/sched.h:14:
In file included from include/linux/pid.h:5:
In file included from include/linux/rculist.h:11:
In file included from include/linux/rcupdate.h:25:
In file included from include/linux/atomic.h:81:
>> include/linux/atomic-arch-fallback.h:1634:9: error: implicit declaration of function 'arch_atomic64_sub_return' [-Werror,-Wimplicit-function-declaration]
return arch_atomic64_sub_return(1, v);
^
include/linux/atomic-arch-fallback.h:1634:9: note: did you mean 'arch_atomic_sub_return'?
arch/riscv/include/asm/atomic.h:129:1: note: 'arch_atomic_sub_return' declared here
ATOMIC_OPS(sub, add, +, -i)
^
arch/riscv/include/asm/atomic.h:119:9: note: expanded from macro 'ATOMIC_OPS'
ATOMIC_OP_RETURN(op, asm_op, c_op, I, w, int, )
^
arch/riscv/include/asm/atomic.h:110:8: note: expanded from macro 'ATOMIC_OP_RETURN'
c_type arch_atomic##prefix##_##op##_return(c_type i, \
^
<scratch space>:210:1: note: expanded from here
arch_atomic_sub_return
^
In file included from arch/riscv/kernel/asm-offsets.c:10:
In file included from include/linux/sched.h:14:
In file included from include/linux/pid.h:5:
In file included from include/linux/rculist.h:11:
In file included from include/linux/rcupdate.h:25:
In file included from include/linux/atomic.h:81:
include/linux/atomic-arch-fallback.h:1643:9: error: implicit declaration of function 'arch_atomic64_sub_return' [-Werror,-Wimplicit-function-declaration]
return arch_atomic64_sub_return_acquire(1, v);
^
include/linux/atomic-arch-fallback.h:1360:42: note: expanded from macro 'arch_atomic64_sub_return_acquire'
#define arch_atomic64_sub_return_acquire arch_atomic64_sub_return
^
include/linux/atomic-arch-fallback.h:1652:9: error: implicit declaration of function 'arch_atomic64_sub_return' [-Werror,-Wimplicit-function-declaration]
return arch_atomic64_sub_return_release(1, v);
^
include/linux/atomic-arch-fallback.h:1361:42: note: expanded from macro 'arch_atomic64_sub_return_release'
#define arch_atomic64_sub_return_release arch_atomic64_sub_return
^
include/linux/atomic-arch-fallback.h:1661:9: error: implicit declaration of function 'arch_atomic64_sub_return' [-Werror,-Wimplicit-function-declaration]
return arch_atomic64_sub_return_relaxed(1, v);
^
include/linux/atomic-arch-fallback.h:1362:42: note: expanded from macro 'arch_atomic64_sub_return_relaxed'
#define arch_atomic64_sub_return_relaxed arch_atomic64_sub_return
^
>> include/linux/atomic-arch-fallback.h:1715:9: error: implicit declaration of function 'arch_atomic64_fetch_sub' [-Werror,-Wimplicit-function-declaration]
return arch_atomic64_fetch_sub(1, v);
^
include/linux/atomic-arch-fallback.h:1715:9: note: did you mean 'arch_atomic_fetch_sub'?
arch/riscv/include/asm/atomic.h:129:1: note: 'arch_atomic_fetch_sub' declared here
ATOMIC_OPS(sub, add, +, -i)
^
arch/riscv/include/asm/atomic.h:118:9: note: expanded from macro 'ATOMIC_OPS'
ATOMIC_FETCH_OP( op, asm_op, I, w, int, ) \
^
arch/riscv/include/asm/atomic.h:91:8: note: expanded from macro 'ATOMIC_FETCH_OP'
c_type arch_atomic##prefix##_fetch_##op(c_type i, atomic##prefix##_t *v)\
^
<scratch space>:199:1: note: expanded from here
arch_atomic_fetch_sub
^
In file included from arch/riscv/kernel/asm-offsets.c:10:
In file included from include/linux/sched.h:14:
In file included from include/linux/pid.h:5:
In file included from include/linux/rculist.h:11:
In file included from include/linux/rcupdate.h:25:
In file included from include/linux/atomic.h:81:
include/linux/atomic-arch-fallback.h:1724:9: error: implicit declaration of function 'arch_atomic64_fetch_sub' [-Werror,-Wimplicit-function-declaration]
return arch_atomic64_fetch_sub_acquire(1, v);
^
include/linux/atomic-arch-fallback.h:1402:41: note: expanded from macro 'arch_atomic64_fetch_sub_acquire'
#define arch_atomic64_fetch_sub_acquire arch_atomic64_fetch_sub
^
include/linux/atomic-arch-fallback.h:1733:9: error: implicit declaration of function 'arch_atomic64_fetch_sub' [-Werror,-Wimplicit-function-declaration]
return arch_atomic64_fetch_sub_release(1, v);
^
include/linux/atomic-arch-fallback.h:1403:41: note: expanded from macro 'arch_atomic64_fetch_sub_release'
#define arch_atomic64_fetch_sub_release arch_atomic64_fetch_sub
^
include/linux/atomic-arch-fallback.h:1742:9: error: implicit declaration of function 'arch_atomic64_fetch_sub' [-Werror,-Wimplicit-function-declaration]
return arch_atomic64_fetch_sub_relaxed(1, v);
^
include/linux/atomic-arch-fallback.h:1404:41: note: expanded from macro 'arch_atomic64_fetch_sub_relaxed'
#define arch_atomic64_fetch_sub_relaxed arch_atomic64_fetch_sub
^
>> include/linux/atomic-arch-fallback.h:1831:2: error: implicit declaration of function 'arch_atomic64_and' [-Werror,-Wimplicit-function-declaration]
arch_atomic64_and(~i, v);
^
fatal error: too many errors emitted, stopping now [-ferror-limit=]
20 errors generated.
--
In file included from arch/riscv/kernel/asm-offsets.c:10:
In file included from include/linux/sched.h:14:
In file included from include/linux/pid.h:5:
In file included from include/linux/rculist.h:11:
In file included from include/linux/rcupdate.h:25:
In file included from include/linux/atomic.h:81:
>> include/linux/atomic-arch-fallback.h:1447:2: error: implicit declaration of function 'arch_atomic64_add' [-Werror,-Wimplicit-function-declaration]
arch_atomic64_add(1, v);
^
include/linux/atomic-arch-fallback.h:1447:2: note: did you mean 'arch_atomic_add'?
arch/riscv/include/asm/atomic.h:57:1: note: 'arch_atomic_add' declared here
ATOMIC_OPS(add, add, i)
^
arch/riscv/include/asm/atomic.h:50:9: note: expanded from macro 'ATOMIC_OPS'
ATOMIC_OP (op, asm_op, I, w, int, )
^
arch/riscv/include/asm/atomic.h:39:6: note: expanded from macro 'ATOMIC_OP'
void arch_atomic##prefix##_##op(c_type i, atomic##prefix##_t *v) \
^
<scratch space>:139:1: note: expanded from here
arch_atomic_add
^
In file included from arch/riscv/kernel/asm-offsets.c:10:
In file included from include/linux/sched.h:14:
In file included from include/linux/pid.h:5:
In file included from include/linux/rculist.h:11:
In file included from include/linux/rcupdate.h:25:
In file included from include/linux/atomic.h:81:
>> include/linux/atomic-arch-fallback.h:1463:9: error: implicit declaration of function 'arch_atomic64_add_return' [-Werror,-Wimplicit-function-declaration]
return arch_atomic64_add_return(1, v);
^
include/linux/atomic-arch-fallback.h:1463:9: note: did you mean 'arch_atomic_add_return'?
arch/riscv/include/asm/atomic.h:128:1: note: 'arch_atomic_add_return' declared here
ATOMIC_OPS(add, add, +, i)
^
arch/riscv/include/asm/atomic.h:119:9: note: expanded from macro 'ATOMIC_OPS'
ATOMIC_OP_RETURN(op, asm_op, c_op, I, w, int, )
^
arch/riscv/include/asm/atomic.h:110:8: note: expanded from macro 'ATOMIC_OP_RETURN'
c_type arch_atomic##prefix##_##op##_return(c_type i, \
^
<scratch space>:186:1: note: expanded from here
arch_atomic_add_return
^
In file included from arch/riscv/kernel/asm-offsets.c:10:
In file included from include/linux/sched.h:14:
In file included from include/linux/pid.h:5:
In file included from include/linux/rculist.h:11:
In file included from include/linux/rcupdate.h:25:
In file included from include/linux/atomic.h:81:
include/linux/atomic-arch-fallback.h:1472:9: error: implicit declaration of function 'arch_atomic64_add_return' [-Werror,-Wimplicit-function-declaration]
return arch_atomic64_add_return_acquire(1, v);
^
include/linux/atomic-arch-fallback.h:1276:42: note: expanded from macro 'arch_atomic64_add_return_acquire'
#define arch_atomic64_add_return_acquire arch_atomic64_add_return
^
include/linux/atomic-arch-fallback.h:1481:9: error: implicit declaration of function 'arch_atomic64_add_return' [-Werror,-Wimplicit-function-declaration]
return arch_atomic64_add_return_release(1, v);
^
include/linux/atomic-arch-fallback.h:1277:42: note: expanded from macro 'arch_atomic64_add_return_release'
#define arch_atomic64_add_return_release arch_atomic64_add_return
^
include/linux/atomic-arch-fallback.h:1490:9: error: implicit declaration of function 'arch_atomic64_add_return' [-Werror,-Wimplicit-function-declaration]
return arch_atomic64_add_return_relaxed(1, v);
^
include/linux/atomic-arch-fallback.h:1278:42: note: expanded from macro 'arch_atomic64_add_return_relaxed'
#define arch_atomic64_add_return_relaxed arch_atomic64_add_return
^
>> include/linux/atomic-arch-fallback.h:1544:9: error: implicit declaration of function 'arch_atomic64_fetch_add' [-Werror,-Wimplicit-function-declaration]
return arch_atomic64_fetch_add(1, v);
^
include/linux/atomic-arch-fallback.h:1544:9: note: did you mean 'arch_atomic_fetch_add'?
arch/riscv/include/asm/atomic.h:128:1: note: 'arch_atomic_fetch_add' declared here
ATOMIC_OPS(add, add, +, i)
^
arch/riscv/include/asm/atomic.h:118:9: note: expanded from macro 'ATOMIC_OPS'
ATOMIC_FETCH_OP( op, asm_op, I, w, int, ) \
^
arch/riscv/include/asm/atomic.h:91:8: note: expanded from macro 'ATOMIC_FETCH_OP'
c_type arch_atomic##prefix##_fetch_##op(c_type i, atomic##prefix##_t *v)\
^
<scratch space>:175:1: note: expanded from here
arch_atomic_fetch_add
^
In file included from arch/riscv/kernel/asm-offsets.c:10:
In file included from include/linux/sched.h:14:
In file included from include/linux/pid.h:5:
In file included from include/linux/rculist.h:11:
In file included from include/linux/rcupdate.h:25:
In file included from include/linux/atomic.h:81:
include/linux/atomic-arch-fallback.h:1553:9: error: implicit declaration of function 'arch_atomic64_fetch_add' [-Werror,-Wimplicit-function-declaration]
return arch_atomic64_fetch_add_acquire(1, v);
^
include/linux/atomic-arch-fallback.h:1318:41: note: expanded from macro 'arch_atomic64_fetch_add_acquire'
#define arch_atomic64_fetch_add_acquire arch_atomic64_fetch_add
^
include/linux/atomic-arch-fallback.h:1562:9: error: implicit declaration of function 'arch_atomic64_fetch_add' [-Werror,-Wimplicit-function-declaration]
return arch_atomic64_fetch_add_release(1, v);
^
include/linux/atomic-arch-fallback.h:1319:41: note: expanded from macro 'arch_atomic64_fetch_add_release'
#define arch_atomic64_fetch_add_release arch_atomic64_fetch_add
^
include/linux/atomic-arch-fallback.h:1571:9: error: implicit declaration of function 'arch_atomic64_fetch_add' [-Werror,-Wimplicit-function-declaration]
return arch_atomic64_fetch_add_relaxed(1, v);
^
include/linux/atomic-arch-fallback.h:1320:41: note: expanded from macro 'arch_atomic64_fetch_add_relaxed'
#define arch_atomic64_fetch_add_relaxed arch_atomic64_fetch_add
^
>> include/linux/atomic-arch-fallback.h:1618:2: error: implicit declaration of function 'arch_atomic64_sub' [-Werror,-Wimplicit-function-declaration]
arch_atomic64_sub(1, v);
^
include/linux/atomic-arch-fallback.h:1618:2: note: did you mean 'arch_atomic_sub'?
arch/riscv/include/asm/atomic.h:58:1: note: 'arch_atomic_sub' declared here
ATOMIC_OPS(sub, add, -i)
^
arch/riscv/include/asm/atomic.h:50:9: note: expanded from macro 'ATOMIC_OPS'
ATOMIC_OP (op, asm_op, I, w, int, )
^
arch/riscv/include/asm/atomic.h:39:6: note: expanded from macro 'ATOMIC_OP'
void arch_atomic##prefix##_##op(c_type i, atomic##prefix##_t *v) \
^
<scratch space>:144:1: note: expanded from here
arch_atomic_sub
^
In file included from arch/riscv/kernel/asm-offsets.c:10:
In file included from include/linux/sched.h:14:
In file included from include/linux/pid.h:5:
In file included from include/linux/rculist.h:11:
In file included from include/linux/rcupdate.h:25:
In file included from include/linux/atomic.h:81:
>> include/linux/atomic-arch-fallback.h:1634:9: error: implicit declaration of function 'arch_atomic64_sub_return' [-Werror,-Wimplicit-function-declaration]
return arch_atomic64_sub_return(1, v);
^
include/linux/atomic-arch-fallback.h:1634:9: note: did you mean 'arch_atomic_sub_return'?
arch/riscv/include/asm/atomic.h:129:1: note: 'arch_atomic_sub_return' declared here
ATOMIC_OPS(sub, add, +, -i)
^
arch/riscv/include/asm/atomic.h:119:9: note: expanded from macro 'ATOMIC_OPS'
ATOMIC_OP_RETURN(op, asm_op, c_op, I, w, int, )
^
arch/riscv/include/asm/atomic.h:110:8: note: expanded from macro 'ATOMIC_OP_RETURN'
c_type arch_atomic##prefix##_##op##_return(c_type i, \
^
<scratch space>:210:1: note: expanded from here
arch_atomic_sub_return
^
In file included from arch/riscv/kernel/asm-offsets.c:10:
In file included from include/linux/sched.h:14:
In file included from include/linux/pid.h:5:
In file included from include/linux/rculist.h:11:
In file included from include/linux/rcupdate.h:25:
In file included from include/linux/atomic.h:81:
include/linux/atomic-arch-fallback.h:1643:9: error: implicit declaration of function 'arch_atomic64_sub_return' [-Werror,-Wimplicit-function-declaration]
return arch_atomic64_sub_return_acquire(1, v);
^
include/linux/atomic-arch-fallback.h:1360:42: note: expanded from macro 'arch_atomic64_sub_return_acquire'
#define arch_atomic64_sub_return_acquire arch_atomic64_sub_return
^
include/linux/atomic-arch-fallback.h:1652:9: error: implicit declaration of function 'arch_atomic64_sub_return' [-Werror,-Wimplicit-function-declaration]
return arch_atomic64_sub_return_release(1, v);
^
include/linux/atomic-arch-fallback.h:1361:42: note: expanded from macro 'arch_atomic64_sub_return_release'
#define arch_atomic64_sub_return_release arch_atomic64_sub_return
^
include/linux/atomic-arch-fallback.h:1661:9: error: implicit declaration of function 'arch_atomic64_sub_return' [-Werror,-Wimplicit-function-declaration]
return arch_atomic64_sub_return_relaxed(1, v);
^
include/linux/atomic-arch-fallback.h:1362:42: note: expanded from macro 'arch_atomic64_sub_return_relaxed'
#define arch_atomic64_sub_return_relaxed arch_atomic64_sub_return
^
>> include/linux/atomic-arch-fallback.h:1715:9: error: implicit declaration of function 'arch_atomic64_fetch_sub' [-Werror,-Wimplicit-function-declaration]
return arch_atomic64_fetch_sub(1, v);
^
include/linux/atomic-arch-fallback.h:1715:9: note: did you mean 'arch_atomic_fetch_sub'?
arch/riscv/include/asm/atomic.h:129:1: note: 'arch_atomic_fetch_sub' declared here
ATOMIC_OPS(sub, add, +, -i)
^
arch/riscv/include/asm/atomic.h:118:9: note: expanded from macro 'ATOMIC_OPS'
ATOMIC_FETCH_OP( op, asm_op, I, w, int, ) \
^
arch/riscv/include/asm/atomic.h:91:8: note: expanded from macro 'ATOMIC_FETCH_OP'
c_type arch_atomic##prefix##_fetch_##op(c_type i, atomic##prefix##_t *v)\
^
<scratch space>:199:1: note: expanded from here
arch_atomic_fetch_sub
^
In file included from arch/riscv/kernel/asm-offsets.c:10:
In file included from include/linux/sched.h:14:
In file included from include/linux/pid.h:5:
In file included from include/linux/rculist.h:11:
In file included from include/linux/rcupdate.h:25:
In file included from include/linux/atomic.h:81:
include/linux/atomic-arch-fallback.h:1724:9: error: implicit declaration of function 'arch_atomic64_fetch_sub' [-Werror,-Wimplicit-function-declaration]
return arch_atomic64_fetch_sub_acquire(1, v);
^
include/linux/atomic-arch-fallback.h:1402:41: note: expanded from macro 'arch_atomic64_fetch_sub_acquire'
#define arch_atomic64_fetch_sub_acquire arch_atomic64_fetch_sub
^
include/linux/atomic-arch-fallback.h:1733:9: error: implicit declaration of function 'arch_atomic64_fetch_sub' [-Werror,-Wimplicit-function-declaration]
return arch_atomic64_fetch_sub_release(1, v);
^
include/linux/atomic-arch-fallback.h:1403:41: note: expanded from macro 'arch_atomic64_fetch_sub_release'
#define arch_atomic64_fetch_sub_release arch_atomic64_fetch_sub
^
include/linux/atomic-arch-fallback.h:1742:9: error: implicit declaration of function 'arch_atomic64_fetch_sub' [-Werror,-Wimplicit-function-declaration]
return arch_atomic64_fetch_sub_relaxed(1, v);
^
include/linux/atomic-arch-fallback.h:1404:41: note: expanded from macro 'arch_atomic64_fetch_sub_relaxed'
#define arch_atomic64_fetch_sub_relaxed arch_atomic64_fetch_sub
^
>> include/linux/atomic-arch-fallback.h:1831:2: error: implicit declaration of function 'arch_atomic64_and' [-Werror,-Wimplicit-function-declaration]
arch_atomic64_and(~i, v);
^
fatal error: too many errors emitted, stopping now [-ferror-limit=]
20 errors generated.
make[2]: *** [scripts/Makefile.build:116: arch/riscv/kernel/asm-offsets.s] Error 1
make[2]: Target '__build' not remade because of errors.
make[1]: *** [Makefile:1235: prepare0] Error 2
make[1]: Target 'modules_prepare' not remade because of errors.
make: *** [Makefile:215: __sub-make] Error 2
make: Target 'modules_prepare' not remade because of errors.
..
vim +/arch_atomic64_add_return +1463 include/linux/atomic-arch-fallback.h
37f8173dd84936 Peter Zijlstra 2020-01-24 1442
37f8173dd84936 Peter Zijlstra 2020-01-24 1443 #ifndef arch_atomic64_inc
37f8173dd84936 Peter Zijlstra 2020-01-24 1444 static __always_inline void
37f8173dd84936 Peter Zijlstra 2020-01-24 1445 arch_atomic64_inc(atomic64_t *v)
37f8173dd84936 Peter Zijlstra 2020-01-24 1446 {
37f8173dd84936 Peter Zijlstra 2020-01-24 @1447 arch_atomic64_add(1, v);
37f8173dd84936 Peter Zijlstra 2020-01-24 1448 }
37f8173dd84936 Peter Zijlstra 2020-01-24 1449 #define arch_atomic64_inc arch_atomic64_inc
37f8173dd84936 Peter Zijlstra 2020-01-24 1450 #endif
37f8173dd84936 Peter Zijlstra 2020-01-24 1451
37f8173dd84936 Peter Zijlstra 2020-01-24 1452 #ifndef arch_atomic64_inc_return_relaxed
37f8173dd84936 Peter Zijlstra 2020-01-24 1453 #ifdef arch_atomic64_inc_return
37f8173dd84936 Peter Zijlstra 2020-01-24 1454 #define arch_atomic64_inc_return_acquire arch_atomic64_inc_return
37f8173dd84936 Peter Zijlstra 2020-01-24 1455 #define arch_atomic64_inc_return_release arch_atomic64_inc_return
37f8173dd84936 Peter Zijlstra 2020-01-24 1456 #define arch_atomic64_inc_return_relaxed arch_atomic64_inc_return
37f8173dd84936 Peter Zijlstra 2020-01-24 1457 #endif /* arch_atomic64_inc_return */
37f8173dd84936 Peter Zijlstra 2020-01-24 1458
37f8173dd84936 Peter Zijlstra 2020-01-24 1459 #ifndef arch_atomic64_inc_return
37f8173dd84936 Peter Zijlstra 2020-01-24 1460 static __always_inline s64
37f8173dd84936 Peter Zijlstra 2020-01-24 1461 arch_atomic64_inc_return(atomic64_t *v)
37f8173dd84936 Peter Zijlstra 2020-01-24 1462 {
37f8173dd84936 Peter Zijlstra 2020-01-24 @1463 return arch_atomic64_add_return(1, v);
37f8173dd84936 Peter Zijlstra 2020-01-24 1464 }
37f8173dd84936 Peter Zijlstra 2020-01-24 1465 #define arch_atomic64_inc_return arch_atomic64_inc_return
37f8173dd84936 Peter Zijlstra 2020-01-24 1466 #endif
37f8173dd84936 Peter Zijlstra 2020-01-24 1467
37f8173dd84936 Peter Zijlstra 2020-01-24 1468 #ifndef arch_atomic64_inc_return_acquire
37f8173dd84936 Peter Zijlstra 2020-01-24 1469 static __always_inline s64
37f8173dd84936 Peter Zijlstra 2020-01-24 1470 arch_atomic64_inc_return_acquire(atomic64_t *v)
37f8173dd84936 Peter Zijlstra 2020-01-24 1471 {
37f8173dd84936 Peter Zijlstra 2020-01-24 1472 return arch_atomic64_add_return_acquire(1, v);
37f8173dd84936 Peter Zijlstra 2020-01-24 1473 }
37f8173dd84936 Peter Zijlstra 2020-01-24 1474 #define arch_atomic64_inc_return_acquire arch_atomic64_inc_return_acquire
37f8173dd84936 Peter Zijlstra 2020-01-24 1475 #endif
37f8173dd84936 Peter Zijlstra 2020-01-24 1476
37f8173dd84936 Peter Zijlstra 2020-01-24 1477 #ifndef arch_atomic64_inc_return_release
37f8173dd84936 Peter Zijlstra 2020-01-24 1478 static __always_inline s64
37f8173dd84936 Peter Zijlstra 2020-01-24 1479 arch_atomic64_inc_return_release(atomic64_t *v)
37f8173dd84936 Peter Zijlstra 2020-01-24 1480 {
37f8173dd84936 Peter Zijlstra 2020-01-24 1481 return arch_atomic64_add_return_release(1, v);
37f8173dd84936 Peter Zijlstra 2020-01-24 1482 }
37f8173dd84936 Peter Zijlstra 2020-01-24 1483 #define arch_atomic64_inc_return_release arch_atomic64_inc_return_release
37f8173dd84936 Peter Zijlstra 2020-01-24 1484 #endif
37f8173dd84936 Peter Zijlstra 2020-01-24 1485
37f8173dd84936 Peter Zijlstra 2020-01-24 1486 #ifndef arch_atomic64_inc_return_relaxed
37f8173dd84936 Peter Zijlstra 2020-01-24 1487 static __always_inline s64
37f8173dd84936 Peter Zijlstra 2020-01-24 1488 arch_atomic64_inc_return_relaxed(atomic64_t *v)
37f8173dd84936 Peter Zijlstra 2020-01-24 1489 {
37f8173dd84936 Peter Zijlstra 2020-01-24 1490 return arch_atomic64_add_return_relaxed(1, v);
37f8173dd84936 Peter Zijlstra 2020-01-24 1491 }
37f8173dd84936 Peter Zijlstra 2020-01-24 1492 #define arch_atomic64_inc_return_relaxed arch_atomic64_inc_return_relaxed
37f8173dd84936 Peter Zijlstra 2020-01-24 1493 #endif
37f8173dd84936 Peter Zijlstra 2020-01-24 1494
37f8173dd84936 Peter Zijlstra 2020-01-24 1495 #else /* arch_atomic64_inc_return_relaxed */
37f8173dd84936 Peter Zijlstra 2020-01-24 1496
37f8173dd84936 Peter Zijlstra 2020-01-24 1497 #ifndef arch_atomic64_inc_return_acquire
37f8173dd84936 Peter Zijlstra 2020-01-24 1498 static __always_inline s64
37f8173dd84936 Peter Zijlstra 2020-01-24 1499 arch_atomic64_inc_return_acquire(atomic64_t *v)
37f8173dd84936 Peter Zijlstra 2020-01-24 1500 {
37f8173dd84936 Peter Zijlstra 2020-01-24 1501 s64 ret = arch_atomic64_inc_return_relaxed(v);
37f8173dd84936 Peter Zijlstra 2020-01-24 1502 __atomic_acquire_fence();
37f8173dd84936 Peter Zijlstra 2020-01-24 1503 return ret;
37f8173dd84936 Peter Zijlstra 2020-01-24 1504 }
37f8173dd84936 Peter Zijlstra 2020-01-24 1505 #define arch_atomic64_inc_return_acquire arch_atomic64_inc_return_acquire
37f8173dd84936 Peter Zijlstra 2020-01-24 1506 #endif
37f8173dd84936 Peter Zijlstra 2020-01-24 1507
37f8173dd84936 Peter Zijlstra 2020-01-24 1508 #ifndef arch_atomic64_inc_return_release
37f8173dd84936 Peter Zijlstra 2020-01-24 1509 static __always_inline s64
37f8173dd84936 Peter Zijlstra 2020-01-24 1510 arch_atomic64_inc_return_release(atomic64_t *v)
37f8173dd84936 Peter Zijlstra 2020-01-24 1511 {
37f8173dd84936 Peter Zijlstra 2020-01-24 1512 __atomic_release_fence();
37f8173dd84936 Peter Zijlstra 2020-01-24 1513 return arch_atomic64_inc_return_relaxed(v);
37f8173dd84936 Peter Zijlstra 2020-01-24 1514 }
37f8173dd84936 Peter Zijlstra 2020-01-24 1515 #define arch_atomic64_inc_return_release arch_atomic64_inc_return_release
37f8173dd84936 Peter Zijlstra 2020-01-24 1516 #endif
37f8173dd84936 Peter Zijlstra 2020-01-24 1517
37f8173dd84936 Peter Zijlstra 2020-01-24 1518 #ifndef arch_atomic64_inc_return
37f8173dd84936 Peter Zijlstra 2020-01-24 1519 static __always_inline s64
37f8173dd84936 Peter Zijlstra 2020-01-24 1520 arch_atomic64_inc_return(atomic64_t *v)
37f8173dd84936 Peter Zijlstra 2020-01-24 1521 {
37f8173dd84936 Peter Zijlstra 2020-01-24 1522 s64 ret;
37f8173dd84936 Peter Zijlstra 2020-01-24 1523 __atomic_pre_full_fence();
37f8173dd84936 Peter Zijlstra 2020-01-24 1524 ret = arch_atomic64_inc_return_relaxed(v);
37f8173dd84936 Peter Zijlstra 2020-01-24 1525 __atomic_post_full_fence();
37f8173dd84936 Peter Zijlstra 2020-01-24 1526 return ret;
37f8173dd84936 Peter Zijlstra 2020-01-24 1527 }
37f8173dd84936 Peter Zijlstra 2020-01-24 1528 #define arch_atomic64_inc_return arch_atomic64_inc_return
37f8173dd84936 Peter Zijlstra 2020-01-24 1529 #endif
37f8173dd84936 Peter Zijlstra 2020-01-24 1530
37f8173dd84936 Peter Zijlstra 2020-01-24 1531 #endif /* arch_atomic64_inc_return_relaxed */
37f8173dd84936 Peter Zijlstra 2020-01-24 1532
37f8173dd84936 Peter Zijlstra 2020-01-24 1533 #ifndef arch_atomic64_fetch_inc_relaxed
37f8173dd84936 Peter Zijlstra 2020-01-24 1534 #ifdef arch_atomic64_fetch_inc
37f8173dd84936 Peter Zijlstra 2020-01-24 1535 #define arch_atomic64_fetch_inc_acquire arch_atomic64_fetch_inc
37f8173dd84936 Peter Zijlstra 2020-01-24 1536 #define arch_atomic64_fetch_inc_release arch_atomic64_fetch_inc
37f8173dd84936 Peter Zijlstra 2020-01-24 1537 #define arch_atomic64_fetch_inc_relaxed arch_atomic64_fetch_inc
37f8173dd84936 Peter Zijlstra 2020-01-24 1538 #endif /* arch_atomic64_fetch_inc */
37f8173dd84936 Peter Zijlstra 2020-01-24 1539
37f8173dd84936 Peter Zijlstra 2020-01-24 1540 #ifndef arch_atomic64_fetch_inc
37f8173dd84936 Peter Zijlstra 2020-01-24 1541 static __always_inline s64
37f8173dd84936 Peter Zijlstra 2020-01-24 1542 arch_atomic64_fetch_inc(atomic64_t *v)
37f8173dd84936 Peter Zijlstra 2020-01-24 1543 {
37f8173dd84936 Peter Zijlstra 2020-01-24 @1544 return arch_atomic64_fetch_add(1, v);
37f8173dd84936 Peter Zijlstra 2020-01-24 1545 }
37f8173dd84936 Peter Zijlstra 2020-01-24 1546 #define arch_atomic64_fetch_inc arch_atomic64_fetch_inc
37f8173dd84936 Peter Zijlstra 2020-01-24 1547 #endif
37f8173dd84936 Peter Zijlstra 2020-01-24 1548
37f8173dd84936 Peter Zijlstra 2020-01-24 1549 #ifndef arch_atomic64_fetch_inc_acquire
37f8173dd84936 Peter Zijlstra 2020-01-24 1550 static __always_inline s64
37f8173dd84936 Peter Zijlstra 2020-01-24 1551 arch_atomic64_fetch_inc_acquire(atomic64_t *v)
37f8173dd84936 Peter Zijlstra 2020-01-24 1552 {
37f8173dd84936 Peter Zijlstra 2020-01-24 1553 return arch_atomic64_fetch_add_acquire(1, v);
37f8173dd84936 Peter Zijlstra 2020-01-24 1554 }
37f8173dd84936 Peter Zijlstra 2020-01-24 1555 #define arch_atomic64_fetch_inc_acquire arch_atomic64_fetch_inc_acquire
37f8173dd84936 Peter Zijlstra 2020-01-24 1556 #endif
37f8173dd84936 Peter Zijlstra 2020-01-24 1557
37f8173dd84936 Peter Zijlstra 2020-01-24 1558 #ifndef arch_atomic64_fetch_inc_release
37f8173dd84936 Peter Zijlstra 2020-01-24 1559 static __always_inline s64
37f8173dd84936 Peter Zijlstra 2020-01-24 1560 arch_atomic64_fetch_inc_release(atomic64_t *v)
37f8173dd84936 Peter Zijlstra 2020-01-24 1561 {
37f8173dd84936 Peter Zijlstra 2020-01-24 1562 return arch_atomic64_fetch_add_release(1, v);
37f8173dd84936 Peter Zijlstra 2020-01-24 1563 }
37f8173dd84936 Peter Zijlstra 2020-01-24 1564 #define arch_atomic64_fetch_inc_release arch_atomic64_fetch_inc_release
37f8173dd84936 Peter Zijlstra 2020-01-24 1565 #endif
37f8173dd84936 Peter Zijlstra 2020-01-24 1566
37f8173dd84936 Peter Zijlstra 2020-01-24 1567 #ifndef arch_atomic64_fetch_inc_relaxed
37f8173dd84936 Peter Zijlstra 2020-01-24 1568 static __always_inline s64
37f8173dd84936 Peter Zijlstra 2020-01-24 1569 arch_atomic64_fetch_inc_relaxed(atomic64_t *v)
37f8173dd84936 Peter Zijlstra 2020-01-24 1570 {
37f8173dd84936 Peter Zijlstra 2020-01-24 1571 return arch_atomic64_fetch_add_relaxed(1, v);
37f8173dd84936 Peter Zijlstra 2020-01-24 1572 }
37f8173dd84936 Peter Zijlstra 2020-01-24 1573 #define arch_atomic64_fetch_inc_relaxed arch_atomic64_fetch_inc_relaxed
37f8173dd84936 Peter Zijlstra 2020-01-24 1574 #endif
37f8173dd84936 Peter Zijlstra 2020-01-24 1575
37f8173dd84936 Peter Zijlstra 2020-01-24 1576 #else /* arch_atomic64_fetch_inc_relaxed */
37f8173dd84936 Peter Zijlstra 2020-01-24 1577
37f8173dd84936 Peter Zijlstra 2020-01-24 1578 #ifndef arch_atomic64_fetch_inc_acquire
37f8173dd84936 Peter Zijlstra 2020-01-24 1579 static __always_inline s64
37f8173dd84936 Peter Zijlstra 2020-01-24 1580 arch_atomic64_fetch_inc_acquire(atomic64_t *v)
37f8173dd84936 Peter Zijlstra 2020-01-24 1581 {
37f8173dd84936 Peter Zijlstra 2020-01-24 1582 s64 ret = arch_atomic64_fetch_inc_relaxed(v);
37f8173dd84936 Peter Zijlstra 2020-01-24 1583 __atomic_acquire_fence();
37f8173dd84936 Peter Zijlstra 2020-01-24 1584 return ret;
37f8173dd84936 Peter Zijlstra 2020-01-24 1585 }
37f8173dd84936 Peter Zijlstra 2020-01-24 1586 #define arch_atomic64_fetch_inc_acquire arch_atomic64_fetch_inc_acquire
37f8173dd84936 Peter Zijlstra 2020-01-24 1587 #endif
37f8173dd84936 Peter Zijlstra 2020-01-24 1588
37f8173dd84936 Peter Zijlstra 2020-01-24 1589 #ifndef arch_atomic64_fetch_inc_release
37f8173dd84936 Peter Zijlstra 2020-01-24 1590 static __always_inline s64
37f8173dd84936 Peter Zijlstra 2020-01-24 1591 arch_atomic64_fetch_inc_release(atomic64_t *v)
37f8173dd84936 Peter Zijlstra 2020-01-24 1592 {
37f8173dd84936 Peter Zijlstra 2020-01-24 1593 __atomic_release_fence();
37f8173dd84936 Peter Zijlstra 2020-01-24 1594 return arch_atomic64_fetch_inc_relaxed(v);
37f8173dd84936 Peter Zijlstra 2020-01-24 1595 }
37f8173dd84936 Peter Zijlstra 2020-01-24 1596 #define arch_atomic64_fetch_inc_release arch_atomic64_fetch_inc_release
37f8173dd84936 Peter Zijlstra 2020-01-24 1597 #endif
37f8173dd84936 Peter Zijlstra 2020-01-24 1598
37f8173dd84936 Peter Zijlstra 2020-01-24 1599 #ifndef arch_atomic64_fetch_inc
37f8173dd84936 Peter Zijlstra 2020-01-24 1600 static __always_inline s64
37f8173dd84936 Peter Zijlstra 2020-01-24 1601 arch_atomic64_fetch_inc(atomic64_t *v)
37f8173dd84936 Peter Zijlstra 2020-01-24 1602 {
37f8173dd84936 Peter Zijlstra 2020-01-24 1603 s64 ret;
37f8173dd84936 Peter Zijlstra 2020-01-24 1604 __atomic_pre_full_fence();
37f8173dd84936 Peter Zijlstra 2020-01-24 1605 ret = arch_atomic64_fetch_inc_relaxed(v);
37f8173dd84936 Peter Zijlstra 2020-01-24 1606 __atomic_post_full_fence();
37f8173dd84936 Peter Zijlstra 2020-01-24 1607 return ret;
37f8173dd84936 Peter Zijlstra 2020-01-24 1608 }
37f8173dd84936 Peter Zijlstra 2020-01-24 1609 #define arch_atomic64_fetch_inc arch_atomic64_fetch_inc
37f8173dd84936 Peter Zijlstra 2020-01-24 1610 #endif
37f8173dd84936 Peter Zijlstra 2020-01-24 1611
37f8173dd84936 Peter Zijlstra 2020-01-24 1612 #endif /* arch_atomic64_fetch_inc_relaxed */
37f8173dd84936 Peter Zijlstra 2020-01-24 1613
37f8173dd84936 Peter Zijlstra 2020-01-24 1614 #ifndef arch_atomic64_dec
37f8173dd84936 Peter Zijlstra 2020-01-24 1615 static __always_inline void
37f8173dd84936 Peter Zijlstra 2020-01-24 1616 arch_atomic64_dec(atomic64_t *v)
37f8173dd84936 Peter Zijlstra 2020-01-24 1617 {
37f8173dd84936 Peter Zijlstra 2020-01-24 @1618 arch_atomic64_sub(1, v);
37f8173dd84936 Peter Zijlstra 2020-01-24 1619 }
37f8173dd84936 Peter Zijlstra 2020-01-24 1620 #define arch_atomic64_dec arch_atomic64_dec
37f8173dd84936 Peter Zijlstra 2020-01-24 1621 #endif
37f8173dd84936 Peter Zijlstra 2020-01-24 1622
37f8173dd84936 Peter Zijlstra 2020-01-24 1623 #ifndef arch_atomic64_dec_return_relaxed
37f8173dd84936 Peter Zijlstra 2020-01-24 1624 #ifdef arch_atomic64_dec_return
37f8173dd84936 Peter Zijlstra 2020-01-24 1625 #define arch_atomic64_dec_return_acquire arch_atomic64_dec_return
37f8173dd84936 Peter Zijlstra 2020-01-24 1626 #define arch_atomic64_dec_return_release arch_atomic64_dec_return
37f8173dd84936 Peter Zijlstra 2020-01-24 1627 #define arch_atomic64_dec_return_relaxed arch_atomic64_dec_return
37f8173dd84936 Peter Zijlstra 2020-01-24 1628 #endif /* arch_atomic64_dec_return */
37f8173dd84936 Peter Zijlstra 2020-01-24 1629
37f8173dd84936 Peter Zijlstra 2020-01-24 1630 #ifndef arch_atomic64_dec_return
37f8173dd84936 Peter Zijlstra 2020-01-24 1631 static __always_inline s64
37f8173dd84936 Peter Zijlstra 2020-01-24 1632 arch_atomic64_dec_return(atomic64_t *v)
37f8173dd84936 Peter Zijlstra 2020-01-24 1633 {
37f8173dd84936 Peter Zijlstra 2020-01-24 @1634 return arch_atomic64_sub_return(1, v);
37f8173dd84936 Peter Zijlstra 2020-01-24 1635 }
37f8173dd84936 Peter Zijlstra 2020-01-24 1636 #define arch_atomic64_dec_return arch_atomic64_dec_return
37f8173dd84936 Peter Zijlstra 2020-01-24 1637 #endif
37f8173dd84936 Peter Zijlstra 2020-01-24 1638
:::::: The code at line 1463 was first introduced by commit
:::::: 37f8173dd84936ea78000ed1cad24f8b18d48ebb locking/atomics: Flip fallbacks and instrumentation
:::::: TO: Peter Zijlstra <peterz(a)infradead.org>
:::::: CC: Thomas Gleixner <tglx(a)linutronix.de>
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
1 year, 5 months
[staging:staging-testing 704/705] drivers/comedi/drivers/jr3_pci.c:507:22: warning: variable 'min_full_scale' set but not used
by kernel test robot
Hi Greg,
First bad commit (maybe != root cause):
tree: https://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging.git staging-testing
head: 71d3edc61e29e45b613b841108688d711846f969
commit: 8ffdff6a8cfbdc174a3a390b6f825a277b5bb895 [704/705] staging: comedi: move out of staging directory
config: parisc-randconfig-r022-20210415 (attached as .config)
compiler: hppa-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://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging.git/commit...
git remote add staging https://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging.git
git fetch --no-tags staging staging-testing
git checkout 8ffdff6a8cfbdc174a3a390b6f825a277b5bb895
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross W=1 ARCH=parisc
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All warnings (new ones prefixed by >>):
drivers/comedi/drivers/jr3_pci.c: In function 'jr3_pci_poll_subdevice':
>> drivers/comedi/drivers/jr3_pci.c:507:22: warning: variable 'min_full_scale' set but not used [-Wunused-but-set-variable]
507 | struct six_axis_t min_full_scale;
| ^~~~~~~~~~~~~~
vim +/min_full_scale +507 drivers/comedi/drivers/jr3_pci.c
07b509e6584a55 drivers/staging/comedi/drivers/jr3_pci.c Anders Blomdell 2009-02-12 437
d5e59c967830f9 drivers/staging/comedi/drivers/jr3_pci.c Anson Jacob 2016-08-26 438 static struct jr3_pci_poll_delay
d5e59c967830f9 drivers/staging/comedi/drivers/jr3_pci.c Anson Jacob 2016-08-26 439 jr3_pci_poll_subdevice(struct comedi_subdevice *s)
07b509e6584a55 drivers/staging/comedi/drivers/jr3_pci.c Anders Blomdell 2009-02-12 440 {
01fca4732b98ab drivers/staging/comedi/drivers/jr3_pci.c H Hartley Sweeten 2014-03-07 441 struct jr3_pci_subdev_private *spriv = s->private;
da1331a50315a0 drivers/staging/comedi/drivers/jr3_pci.c H Hartley Sweeten 2014-03-07 442 struct jr3_pci_poll_delay result = poll_delay_min_max(1000, 2000);
713eab88c66de4 drivers/staging/comedi/drivers/jr3_pci.c Ian Abbott 2017-03-08 443 struct jr3_sensor __iomem *sensor;
01fca4732b98ab drivers/staging/comedi/drivers/jr3_pci.c H Hartley Sweeten 2014-03-07 444 u16 model_no;
01fca4732b98ab drivers/staging/comedi/drivers/jr3_pci.c H Hartley Sweeten 2014-03-07 445 u16 serial_no;
01fca4732b98ab drivers/staging/comedi/drivers/jr3_pci.c H Hartley Sweeten 2014-03-07 446 int errors;
b1f68dc1d61015 drivers/staging/comedi/drivers/jr3_pci.c Ian Abbott 2009-09-21 447 int i;
07b509e6584a55 drivers/staging/comedi/drivers/jr3_pci.c Anders Blomdell 2009-02-12 448
713eab88c66de4 drivers/staging/comedi/drivers/jr3_pci.c Ian Abbott 2017-03-08 449 sensor = spriv->sensor;
713eab88c66de4 drivers/staging/comedi/drivers/jr3_pci.c Ian Abbott 2017-03-08 450 errors = get_u16(&sensor->errors);
7803d8e05d63d7 drivers/staging/comedi/drivers/jr3_pci.c Kumar Amit Mehta 2012-11-07 451
01fca4732b98ab drivers/staging/comedi/drivers/jr3_pci.c H Hartley Sweeten 2014-03-07 452 if (errors != spriv->errors)
01fca4732b98ab drivers/staging/comedi/drivers/jr3_pci.c H Hartley Sweeten 2014-03-07 453 spriv->errors = errors;
01fca4732b98ab drivers/staging/comedi/drivers/jr3_pci.c H Hartley Sweeten 2014-03-07 454
01fca4732b98ab drivers/staging/comedi/drivers/jr3_pci.c H Hartley Sweeten 2014-03-07 455 /* Sensor communication lost? force poll mode */
7803d8e05d63d7 drivers/staging/comedi/drivers/jr3_pci.c Kumar Amit Mehta 2012-11-07 456 if (errors & (watch_dog | watch_dog2 | sensor_change))
01fca4732b98ab drivers/staging/comedi/drivers/jr3_pci.c H Hartley Sweeten 2014-03-07 457 spriv->state = state_jr3_poll;
01fca4732b98ab drivers/staging/comedi/drivers/jr3_pci.c H Hartley Sweeten 2014-03-07 458
01fca4732b98ab drivers/staging/comedi/drivers/jr3_pci.c H Hartley Sweeten 2014-03-07 459 switch (spriv->state) {
01fca4732b98ab drivers/staging/comedi/drivers/jr3_pci.c H Hartley Sweeten 2014-03-07 460 case state_jr3_poll:
713eab88c66de4 drivers/staging/comedi/drivers/jr3_pci.c Ian Abbott 2017-03-08 461 model_no = get_u16(&sensor->model_no);
713eab88c66de4 drivers/staging/comedi/drivers/jr3_pci.c Ian Abbott 2017-03-08 462 serial_no = get_u16(&sensor->serial_no);
07b509e6584a55 drivers/staging/comedi/drivers/jr3_pci.c Anders Blomdell 2009-02-12 463
07b509e6584a55 drivers/staging/comedi/drivers/jr3_pci.c Anders Blomdell 2009-02-12 464 if ((errors & (watch_dog | watch_dog2)) ||
07b509e6584a55 drivers/staging/comedi/drivers/jr3_pci.c Anders Blomdell 2009-02-12 465 model_no == 0 || serial_no == 0) {
2696fb57e6af65 drivers/staging/comedi/drivers/jr3_pci.c Bill Pemberton 2009-03-27 466 /*
abcdc99f7cb387 drivers/staging/comedi/drivers/jr3_pci.c Ian Abbott 2012-11-01 467 * Still no sensor, keep on polling.
01fca4732b98ab drivers/staging/comedi/drivers/jr3_pci.c H Hartley Sweeten 2014-03-07 468 * Since it takes up to 10 seconds for offsets to
01fca4732b98ab drivers/staging/comedi/drivers/jr3_pci.c H Hartley Sweeten 2014-03-07 469 * stabilize, polling each second should suffice.
2696fb57e6af65 drivers/staging/comedi/drivers/jr3_pci.c Bill Pemberton 2009-03-27 470 */
07b509e6584a55 drivers/staging/comedi/drivers/jr3_pci.c Anders Blomdell 2009-02-12 471 } else {
01fca4732b98ab drivers/staging/comedi/drivers/jr3_pci.c H Hartley Sweeten 2014-03-07 472 spriv->retries = 0;
01fca4732b98ab drivers/staging/comedi/drivers/jr3_pci.c H Hartley Sweeten 2014-03-07 473 spriv->state = state_jr3_init_wait_for_offset;
07b509e6584a55 drivers/staging/comedi/drivers/jr3_pci.c Anders Blomdell 2009-02-12 474 }
07b509e6584a55 drivers/staging/comedi/drivers/jr3_pci.c Anders Blomdell 2009-02-12 475 break;
abcdc99f7cb387 drivers/staging/comedi/drivers/jr3_pci.c Ian Abbott 2012-11-01 476 case state_jr3_init_wait_for_offset:
01fca4732b98ab drivers/staging/comedi/drivers/jr3_pci.c H Hartley Sweeten 2014-03-07 477 spriv->retries++;
01fca4732b98ab drivers/staging/comedi/drivers/jr3_pci.c H Hartley Sweeten 2014-03-07 478 if (spriv->retries < 10) {
01fca4732b98ab drivers/staging/comedi/drivers/jr3_pci.c H Hartley Sweeten 2014-03-07 479 /*
01fca4732b98ab drivers/staging/comedi/drivers/jr3_pci.c H Hartley Sweeten 2014-03-07 480 * Wait for offeset to stabilize
01fca4732b98ab drivers/staging/comedi/drivers/jr3_pci.c H Hartley Sweeten 2014-03-07 481 * (< 10 s according to manual)
01fca4732b98ab drivers/staging/comedi/drivers/jr3_pci.c H Hartley Sweeten 2014-03-07 482 */
07b509e6584a55 drivers/staging/comedi/drivers/jr3_pci.c Anders Blomdell 2009-02-12 483 } else {
0a44493fb18738 drivers/staging/comedi/drivers/jr3_pci.c H Hartley Sweeten 2014-03-07 484 struct jr3_pci_transform transf;
07b509e6584a55 drivers/staging/comedi/drivers/jr3_pci.c Anders Blomdell 2009-02-12 485
713eab88c66de4 drivers/staging/comedi/drivers/jr3_pci.c Ian Abbott 2017-03-08 486 spriv->model_no = get_u16(&sensor->model_no);
713eab88c66de4 drivers/staging/comedi/drivers/jr3_pci.c Ian Abbott 2017-03-08 487 spriv->serial_no = get_u16(&sensor->serial_no);
07b509e6584a55 drivers/staging/comedi/drivers/jr3_pci.c Anders Blomdell 2009-02-12 488
2696fb57e6af65 drivers/staging/comedi/drivers/jr3_pci.c Bill Pemberton 2009-03-27 489 /* Transformation all zeros */
b1f68dc1d61015 drivers/staging/comedi/drivers/jr3_pci.c Ian Abbott 2009-09-21 490 for (i = 0; i < ARRAY_SIZE(transf.link); i++) {
01fca4732b98ab drivers/staging/comedi/drivers/jr3_pci.c H Hartley Sweeten 2014-03-07 491 transf.link[i].link_type = (enum link_types)0;
b1f68dc1d61015 drivers/staging/comedi/drivers/jr3_pci.c Ian Abbott 2009-09-21 492 transf.link[i].link_amount = 0;
b1f68dc1d61015 drivers/staging/comedi/drivers/jr3_pci.c Ian Abbott 2009-09-21 493 }
07b509e6584a55 drivers/staging/comedi/drivers/jr3_pci.c Anders Blomdell 2009-02-12 494
713eab88c66de4 drivers/staging/comedi/drivers/jr3_pci.c Ian Abbott 2017-03-08 495 set_transforms(sensor, &transf, 0);
713eab88c66de4 drivers/staging/comedi/drivers/jr3_pci.c Ian Abbott 2017-03-08 496 use_transform(sensor, 0);
01fca4732b98ab drivers/staging/comedi/drivers/jr3_pci.c H Hartley Sweeten 2014-03-07 497 spriv->state = state_jr3_init_transform_complete;
abcdc99f7cb387 drivers/staging/comedi/drivers/jr3_pci.c Ian Abbott 2012-11-01 498 /* Allow 20 ms for completion */
abcdc99f7cb387 drivers/staging/comedi/drivers/jr3_pci.c Ian Abbott 2012-11-01 499 result = poll_delay_min_max(20, 100);
07b509e6584a55 drivers/staging/comedi/drivers/jr3_pci.c Anders Blomdell 2009-02-12 500 }
abcdc99f7cb387 drivers/staging/comedi/drivers/jr3_pci.c Ian Abbott 2012-11-01 501 break;
abcdc99f7cb387 drivers/staging/comedi/drivers/jr3_pci.c Ian Abbott 2012-11-01 502 case state_jr3_init_transform_complete:
713eab88c66de4 drivers/staging/comedi/drivers/jr3_pci.c Ian Abbott 2017-03-08 503 if (!is_complete(sensor)) {
07b509e6584a55 drivers/staging/comedi/drivers/jr3_pci.c Anders Blomdell 2009-02-12 504 result = poll_delay_min_max(20, 100);
07b509e6584a55 drivers/staging/comedi/drivers/jr3_pci.c Anders Blomdell 2009-02-12 505 } else {
2696fb57e6af65 drivers/staging/comedi/drivers/jr3_pci.c Bill Pemberton 2009-03-27 506 /* Set full scale */
050509fa558306 drivers/staging/comedi/drivers/jr3_pci.c Bill Pemberton 2009-03-16 @507 struct six_axis_t min_full_scale;
050509fa558306 drivers/staging/comedi/drivers/jr3_pci.c Bill Pemberton 2009-03-16 508 struct six_axis_t max_full_scale;
07b509e6584a55 drivers/staging/comedi/drivers/jr3_pci.c Anders Blomdell 2009-02-12 509
713eab88c66de4 drivers/staging/comedi/drivers/jr3_pci.c Ian Abbott 2017-03-08 510 min_full_scale = get_min_full_scales(sensor);
713eab88c66de4 drivers/staging/comedi/drivers/jr3_pci.c Ian Abbott 2017-03-08 511 max_full_scale = get_max_full_scales(sensor);
713eab88c66de4 drivers/staging/comedi/drivers/jr3_pci.c Ian Abbott 2017-03-08 512 set_full_scales(sensor, max_full_scale);
07b509e6584a55 drivers/staging/comedi/drivers/jr3_pci.c Anders Blomdell 2009-02-12 513
01fca4732b98ab drivers/staging/comedi/drivers/jr3_pci.c H Hartley Sweeten 2014-03-07 514 spriv->state = state_jr3_init_set_full_scale_complete;
abcdc99f7cb387 drivers/staging/comedi/drivers/jr3_pci.c Ian Abbott 2012-11-01 515 /* Allow 20 ms for completion */
abcdc99f7cb387 drivers/staging/comedi/drivers/jr3_pci.c Ian Abbott 2012-11-01 516 result = poll_delay_min_max(20, 100);
07b509e6584a55 drivers/staging/comedi/drivers/jr3_pci.c Anders Blomdell 2009-02-12 517 }
07b509e6584a55 drivers/staging/comedi/drivers/jr3_pci.c Anders Blomdell 2009-02-12 518 break;
abcdc99f7cb387 drivers/staging/comedi/drivers/jr3_pci.c Ian Abbott 2012-11-01 519 case state_jr3_init_set_full_scale_complete:
713eab88c66de4 drivers/staging/comedi/drivers/jr3_pci.c Ian Abbott 2017-03-08 520 if (!is_complete(sensor)) {
07b509e6584a55 drivers/staging/comedi/drivers/jr3_pci.c Anders Blomdell 2009-02-12 521 result = poll_delay_min_max(20, 100);
07b509e6584a55 drivers/staging/comedi/drivers/jr3_pci.c Anders Blomdell 2009-02-12 522 } else {
713eab88c66de4 drivers/staging/comedi/drivers/jr3_pci.c Ian Abbott 2017-03-08 523 struct force_array __iomem *fs = &sensor->full_scale;
4af8c8195188b5 drivers/staging/comedi/drivers/jr3_pci.c Ian Abbott 2017-02-17 524 union jr3_pci_single_range *r = spriv->range;
01fca4732b98ab drivers/staging/comedi/drivers/jr3_pci.c H Hartley Sweeten 2014-03-07 525
01fca4732b98ab drivers/staging/comedi/drivers/jr3_pci.c H Hartley Sweeten 2014-03-07 526 /* Use ranges in kN or we will overflow around 2000N! */
4af8c8195188b5 drivers/staging/comedi/drivers/jr3_pci.c Ian Abbott 2017-02-17 527 r[0].l.range[0].min = -get_s16(&fs->fx) * 1000;
4af8c8195188b5 drivers/staging/comedi/drivers/jr3_pci.c Ian Abbott 2017-02-17 528 r[0].l.range[0].max = get_s16(&fs->fx) * 1000;
4af8c8195188b5 drivers/staging/comedi/drivers/jr3_pci.c Ian Abbott 2017-02-17 529 r[1].l.range[0].min = -get_s16(&fs->fy) * 1000;
4af8c8195188b5 drivers/staging/comedi/drivers/jr3_pci.c Ian Abbott 2017-02-17 530 r[1].l.range[0].max = get_s16(&fs->fy) * 1000;
4af8c8195188b5 drivers/staging/comedi/drivers/jr3_pci.c Ian Abbott 2017-02-17 531 r[2].l.range[0].min = -get_s16(&fs->fz) * 1000;
4af8c8195188b5 drivers/staging/comedi/drivers/jr3_pci.c Ian Abbott 2017-02-17 532 r[2].l.range[0].max = get_s16(&fs->fz) * 1000;
4af8c8195188b5 drivers/staging/comedi/drivers/jr3_pci.c Ian Abbott 2017-02-17 533 r[3].l.range[0].min = -get_s16(&fs->mx) * 100;
4af8c8195188b5 drivers/staging/comedi/drivers/jr3_pci.c Ian Abbott 2017-02-17 534 r[3].l.range[0].max = get_s16(&fs->mx) * 100;
4af8c8195188b5 drivers/staging/comedi/drivers/jr3_pci.c Ian Abbott 2017-02-17 535 r[4].l.range[0].min = -get_s16(&fs->my) * 100;
4af8c8195188b5 drivers/staging/comedi/drivers/jr3_pci.c Ian Abbott 2017-02-17 536 r[4].l.range[0].max = get_s16(&fs->my) * 100;
4af8c8195188b5 drivers/staging/comedi/drivers/jr3_pci.c Ian Abbott 2017-02-17 537 r[5].l.range[0].min = -get_s16(&fs->mz) * 100;
01fca4732b98ab drivers/staging/comedi/drivers/jr3_pci.c H Hartley Sweeten 2014-03-07 538 /* the next five are questionable */
4af8c8195188b5 drivers/staging/comedi/drivers/jr3_pci.c Ian Abbott 2017-02-17 539 r[5].l.range[0].max = get_s16(&fs->mz) * 100;
4af8c8195188b5 drivers/staging/comedi/drivers/jr3_pci.c Ian Abbott 2017-02-17 540 r[6].l.range[0].min = -get_s16(&fs->v1) * 100;
4af8c8195188b5 drivers/staging/comedi/drivers/jr3_pci.c Ian Abbott 2017-02-17 541 r[6].l.range[0].max = get_s16(&fs->v1) * 100;
4af8c8195188b5 drivers/staging/comedi/drivers/jr3_pci.c Ian Abbott 2017-02-17 542 r[7].l.range[0].min = -get_s16(&fs->v2) * 100;
4af8c8195188b5 drivers/staging/comedi/drivers/jr3_pci.c Ian Abbott 2017-02-17 543 r[7].l.range[0].max = get_s16(&fs->v2) * 100;
4af8c8195188b5 drivers/staging/comedi/drivers/jr3_pci.c Ian Abbott 2017-02-17 544 r[8].l.range[0].min = 0;
4af8c8195188b5 drivers/staging/comedi/drivers/jr3_pci.c Ian Abbott 2017-02-17 545 r[8].l.range[0].max = 65535;
07b509e6584a55 drivers/staging/comedi/drivers/jr3_pci.c Anders Blomdell 2009-02-12 546
713eab88c66de4 drivers/staging/comedi/drivers/jr3_pci.c Ian Abbott 2017-03-08 547 use_offset(sensor, 0);
01fca4732b98ab drivers/staging/comedi/drivers/jr3_pci.c H Hartley Sweeten 2014-03-07 548 spriv->state = state_jr3_init_use_offset_complete;
abcdc99f7cb387 drivers/staging/comedi/drivers/jr3_pci.c Ian Abbott 2012-11-01 549 /* Allow 40 ms for completion */
abcdc99f7cb387 drivers/staging/comedi/drivers/jr3_pci.c Ian Abbott 2012-11-01 550 result = poll_delay_min_max(40, 100);
07b509e6584a55 drivers/staging/comedi/drivers/jr3_pci.c Anders Blomdell 2009-02-12 551 }
07b509e6584a55 drivers/staging/comedi/drivers/jr3_pci.c Anders Blomdell 2009-02-12 552 break;
abcdc99f7cb387 drivers/staging/comedi/drivers/jr3_pci.c Ian Abbott 2012-11-01 553 case state_jr3_init_use_offset_complete:
713eab88c66de4 drivers/staging/comedi/drivers/jr3_pci.c Ian Abbott 2017-03-08 554 if (!is_complete(sensor)) {
07b509e6584a55 drivers/staging/comedi/drivers/jr3_pci.c Anders Blomdell 2009-02-12 555 result = poll_delay_min_max(20, 100);
07b509e6584a55 drivers/staging/comedi/drivers/jr3_pci.c Anders Blomdell 2009-02-12 556 } else {
713eab88c66de4 drivers/staging/comedi/drivers/jr3_pci.c Ian Abbott 2017-03-08 557 set_s16(&sensor->offsets.fx, 0);
713eab88c66de4 drivers/staging/comedi/drivers/jr3_pci.c Ian Abbott 2017-03-08 558 set_s16(&sensor->offsets.fy, 0);
713eab88c66de4 drivers/staging/comedi/drivers/jr3_pci.c Ian Abbott 2017-03-08 559 set_s16(&sensor->offsets.fz, 0);
713eab88c66de4 drivers/staging/comedi/drivers/jr3_pci.c Ian Abbott 2017-03-08 560 set_s16(&sensor->offsets.mx, 0);
713eab88c66de4 drivers/staging/comedi/drivers/jr3_pci.c Ian Abbott 2017-03-08 561 set_s16(&sensor->offsets.my, 0);
713eab88c66de4 drivers/staging/comedi/drivers/jr3_pci.c Ian Abbott 2017-03-08 562 set_s16(&sensor->offsets.mz, 0);
07b509e6584a55 drivers/staging/comedi/drivers/jr3_pci.c Anders Blomdell 2009-02-12 563
713eab88c66de4 drivers/staging/comedi/drivers/jr3_pci.c Ian Abbott 2017-03-08 564 set_offset(sensor);
07b509e6584a55 drivers/staging/comedi/drivers/jr3_pci.c Anders Blomdell 2009-02-12 565
01fca4732b98ab drivers/staging/comedi/drivers/jr3_pci.c H Hartley Sweeten 2014-03-07 566 spriv->state = state_jr3_done;
07b509e6584a55 drivers/staging/comedi/drivers/jr3_pci.c Anders Blomdell 2009-02-12 567 }
07b509e6584a55 drivers/staging/comedi/drivers/jr3_pci.c Anders Blomdell 2009-02-12 568 break;
abcdc99f7cb387 drivers/staging/comedi/drivers/jr3_pci.c Ian Abbott 2012-11-01 569 case state_jr3_done:
01fca4732b98ab drivers/staging/comedi/drivers/jr3_pci.c H Hartley Sweeten 2014-03-07 570 result = poll_delay_min_max(10000, 20000);
07b509e6584a55 drivers/staging/comedi/drivers/jr3_pci.c Anders Blomdell 2009-02-12 571 break;
abcdc99f7cb387 drivers/staging/comedi/drivers/jr3_pci.c Ian Abbott 2012-11-01 572 default:
07b509e6584a55 drivers/staging/comedi/drivers/jr3_pci.c Anders Blomdell 2009-02-12 573 break;
07b509e6584a55 drivers/staging/comedi/drivers/jr3_pci.c Anders Blomdell 2009-02-12 574 }
01fca4732b98ab drivers/staging/comedi/drivers/jr3_pci.c H Hartley Sweeten 2014-03-07 575
07b509e6584a55 drivers/staging/comedi/drivers/jr3_pci.c Anders Blomdell 2009-02-12 576 return result;
07b509e6584a55 drivers/staging/comedi/drivers/jr3_pci.c Anders Blomdell 2009-02-12 577 }
07b509e6584a55 drivers/staging/comedi/drivers/jr3_pci.c Anders Blomdell 2009-02-12 578
:::::: The code at line 507 was first introduced by commit
:::::: 050509fa558306399f2a987956514a8f849846ef Staging: comedi: Remove six_axis_t typedef
:::::: TO: Bill Pemberton <wfp5p(a)virginia.edu>
:::::: CC: Greg Kroah-Hartman <gregkh(a)suse.de>
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
1 year, 5 months
Re: [PATCH] riscv: atomic: Using ARCH_ATOMIC in asm/atomic.h
by kernel test robot
Hi,
I love your patch! Yet something to improve:
[auto build test ERROR on linus/master]
[also build test ERROR on v5.12-rc7 next-20210414]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch]
url: https://github.com/0day-ci/linux/commits/guoren-kernel-org/riscv-atomic-U...
base: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git 7f75285ca572eaabc028cf78c6ab5473d0d160be
config: riscv-rv32_defconfig (attached as .config)
compiler: riscv32-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/0day-ci/linux/commit/ed440642566d3f024235d309c5b5a19bd...
git remote add linux-review https://github.com/0day-ci/linux
git fetch --no-tags linux-review guoren-kernel-org/riscv-atomic-Using-ARCH_ATOMIC-in-asm-atomic-h/20210415-154120
git checkout ed440642566d3f024235d309c5b5a19bda62e9e1
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross W=1 ARCH=riscv
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All error/warnings (new ones prefixed by >>):
In file included from include/linux/atomic.h:81,
from include/linux/rcupdate.h:25,
from include/linux/rculist.h:11,
from include/linux/pid.h:5,
from include/linux/sched.h:14,
from arch/riscv/kernel/asm-offsets.c:10:
include/linux/atomic-arch-fallback.h: In function 'arch_atomic64_inc':
>> include/linux/atomic-arch-fallback.h:1447:2: error: implicit declaration of function 'arch_atomic64_add'; did you mean 'arch_atomic_add'? [-Werror=implicit-function-declaration]
1447 | arch_atomic64_add(1, v);
| ^~~~~~~~~~~~~~~~~
| arch_atomic_add
include/linux/atomic-arch-fallback.h: In function 'arch_atomic64_inc_return':
>> include/linux/atomic-arch-fallback.h:1463:9: error: implicit declaration of function 'arch_atomic64_add_return'; did you mean 'arch_atomic_add_return'? [-Werror=implicit-function-declaration]
1463 | return arch_atomic64_add_return(1, v);
| ^~~~~~~~~~~~~~~~~~~~~~~~
| arch_atomic_add_return
include/linux/atomic-arch-fallback.h: In function 'arch_atomic64_fetch_inc':
>> include/linux/atomic-arch-fallback.h:1544:9: error: implicit declaration of function 'arch_atomic64_fetch_add'; did you mean 'arch_atomic_fetch_add'? [-Werror=implicit-function-declaration]
1544 | return arch_atomic64_fetch_add(1, v);
| ^~~~~~~~~~~~~~~~~~~~~~~
| arch_atomic_fetch_add
include/linux/atomic-arch-fallback.h: In function 'arch_atomic64_dec':
>> include/linux/atomic-arch-fallback.h:1618:2: error: implicit declaration of function 'arch_atomic64_sub'; did you mean 'arch_atomic_sub'? [-Werror=implicit-function-declaration]
1618 | arch_atomic64_sub(1, v);
| ^~~~~~~~~~~~~~~~~
| arch_atomic_sub
include/linux/atomic-arch-fallback.h: In function 'arch_atomic64_dec_return':
>> include/linux/atomic-arch-fallback.h:1634:9: error: implicit declaration of function 'arch_atomic64_sub_return'; did you mean 'arch_atomic_sub_return'? [-Werror=implicit-function-declaration]
1634 | return arch_atomic64_sub_return(1, v);
| ^~~~~~~~~~~~~~~~~~~~~~~~
| arch_atomic_sub_return
include/linux/atomic-arch-fallback.h: In function 'arch_atomic64_fetch_dec':
>> include/linux/atomic-arch-fallback.h:1715:9: error: implicit declaration of function 'arch_atomic64_fetch_sub'; did you mean 'arch_atomic_fetch_sub'? [-Werror=implicit-function-declaration]
1715 | return arch_atomic64_fetch_sub(1, v);
| ^~~~~~~~~~~~~~~~~~~~~~~
| arch_atomic_fetch_sub
include/linux/atomic-arch-fallback.h: In function 'arch_atomic64_andnot':
>> include/linux/atomic-arch-fallback.h:1831:2: error: implicit declaration of function 'arch_atomic64_and'; did you mean 'arch_atomic64_inc'? [-Werror=implicit-function-declaration]
1831 | arch_atomic64_and(~i, v);
| ^~~~~~~~~~~~~~~~~
| arch_atomic64_inc
include/linux/atomic-arch-fallback.h: In function 'arch_atomic64_fetch_andnot':
>> include/linux/atomic-arch-fallback.h:1847:9: error: implicit declaration of function 'arch_atomic64_fetch_and'; did you mean 'arch_atomic64_fetch_inc'? [-Werror=implicit-function-declaration]
1847 | return arch_atomic64_fetch_and(~i, v);
| ^~~~~~~~~~~~~~~~~~~~~~~
| arch_atomic64_fetch_inc
include/linux/atomic-arch-fallback.h: In function 'arch_atomic64_try_cmpxchg':
>> include/linux/atomic-arch-fallback.h:2097:6: error: implicit declaration of function 'arch_atomic64_cmpxchg'; did you mean 'arch_atomic_cmpxchg'? [-Werror=implicit-function-declaration]
2097 | r = arch_atomic64_cmpxchg(v, o, new);
| ^~~~~~~~~~~~~~~~~~~~~
| arch_atomic_cmpxchg
include/linux/atomic-arch-fallback.h: In function 'arch_atomic64_fetch_add_unless':
>> include/linux/atomic-arch-fallback.h:2265:10: error: implicit declaration of function 'arch_atomic64_read'; did you mean 'arch_atomic_read'? [-Werror=implicit-function-declaration]
2265 | s64 c = arch_atomic64_read(v);
| ^~~~~~~~~~~~~~~~~~
| arch_atomic_read
In file included from include/linux/atomic.h:82,
from include/linux/rcupdate.h:25,
from include/linux/rculist.h:11,
from include/linux/pid.h:5,
from include/linux/sched.h:14,
from arch/riscv/kernel/asm-offsets.c:10:
include/asm-generic/atomic-instrumented.h: At top level:
>> include/asm-generic/atomic-instrumented.h:835:1: error: static declaration of 'atomic64_read' follows non-static declaration
835 | atomic64_read(const atomic64_t *v)
| ^~~~~~~~~~~~~
In file included from include/linux/atomic-arch-fallback.h:1254,
from include/linux/atomic.h:81,
from include/linux/rcupdate.h:25,
from include/linux/rculist.h:11,
from include/linux/pid.h:5,
from include/linux/sched.h:14,
from arch/riscv/kernel/asm-offsets.c:10:
include/asm-generic/atomic64.h:18:12: note: previous declaration of 'atomic64_read' was here
18 | extern s64 atomic64_read(const atomic64_t *v);
| ^~~~~~~~~~~~~
In file included from include/linux/atomic.h:82,
from include/linux/rcupdate.h:25,
from include/linux/rculist.h:11,
from include/linux/pid.h:5,
from include/linux/sched.h:14,
from arch/riscv/kernel/asm-offsets.c:10:
>> include/asm-generic/atomic-instrumented.h:853:1: error: static declaration of 'atomic64_set' follows non-static declaration
853 | atomic64_set(atomic64_t *v, s64 i)
| ^~~~~~~~~~~~
In file included from include/linux/atomic-arch-fallback.h:1254,
from include/linux/atomic.h:81,
from include/linux/rcupdate.h:25,
from include/linux/rculist.h:11,
from include/linux/pid.h:5,
from include/linux/sched.h:14,
from arch/riscv/kernel/asm-offsets.c:10:
include/asm-generic/atomic64.h:19:13: note: previous declaration of 'atomic64_set' was here
19 | extern void atomic64_set(atomic64_t *v, s64 i);
| ^~~~~~~~~~~~
In file included from include/linux/atomic.h:82,
from include/linux/rcupdate.h:25,
from include/linux/rculist.h:11,
from include/linux/pid.h:5,
from include/linux/sched.h:14,
from arch/riscv/kernel/asm-offsets.c:10:
include/asm-generic/atomic-instrumented.h: In function 'atomic64_set':
>> include/asm-generic/atomic-instrumented.h:856:2: error: implicit declaration of function 'arch_atomic64_set'; did you mean 'arch_atomic64_dec'? [-Werror=implicit-function-declaration]
856 | arch_atomic64_set(v, i);
| ^~~~~~~~~~~~~~~~~
| arch_atomic64_dec
In file included from include/linux/atomic-arch-fallback.h:1254,
from include/linux/atomic.h:81,
from include/linux/rcupdate.h:25,
from include/linux/rculist.h:11,
from include/linux/pid.h:5,
from include/linux/sched.h:14,
from arch/riscv/kernel/asm-offsets.c:10:
include/asm-generic/atomic-instrumented.h: At top level:
>> include/asm-generic/atomic64.h:21:49: error: expected declaration specifiers or '...' before '(' token
21 | #define atomic64_set_release(v, i) atomic64_set((v), (i))
| ^
include/asm-generic/atomic-instrumented.h:862:1: note: in expansion of macro 'atomic64_set_release'
862 | atomic64_set_release(atomic64_t *v, s64 i)
| ^~~~~~~~~~~~~~~~~~~~
include/asm-generic/atomic64.h:21:54: error: expected declaration specifiers or '...' before '(' token
21 | #define atomic64_set_release(v, i) atomic64_set((v), (i))
| ^
include/asm-generic/atomic-instrumented.h:862:1: note: in expansion of macro 'atomic64_set_release'
862 | atomic64_set_release(atomic64_t *v, s64 i)
| ^~~~~~~~~~~~~~~~~~~~
In file included from include/linux/atomic.h:82,
from include/linux/rcupdate.h:25,
from include/linux/rculist.h:11,
from include/linux/pid.h:5,
from include/linux/sched.h:14,
from arch/riscv/kernel/asm-offsets.c:10:
>> include/asm-generic/atomic-instrumented.h:867: warning: "atomic64_set_release" redefined
867 | #define atomic64_set_release atomic64_set_release
|
In file included from include/linux/atomic-arch-fallback.h:1254,
from include/linux/atomic.h:81,
from include/linux/rcupdate.h:25,
from include/linux/rculist.h:11,
from include/linux/pid.h:5,
from include/linux/sched.h:14,
from arch/riscv/kernel/asm-offsets.c:10:
include/asm-generic/atomic64.h:21: note: this is the location of the previous definition
21 | #define atomic64_set_release(v, i) atomic64_set((v), (i))
|
In file included from include/linux/atomic.h:82,
from include/linux/rcupdate.h:25,
from include/linux/rculist.h:11,
from include/linux/pid.h:5,
from include/linux/sched.h:14,
from arch/riscv/kernel/asm-offsets.c:10:
>> include/asm-generic/atomic-instrumented.h:871:1: error: static declaration of 'atomic64_add' follows non-static declaration
871 | atomic64_add(s64 i, atomic64_t *v)
| ^~~~~~~~~~~~
In file included from include/linux/atomic-arch-fallback.h:1254,
from include/linux/atomic.h:81,
from include/linux/rcupdate.h:25,
from include/linux/rculist.h:11,
from include/linux/pid.h:5,
from include/linux/sched.h:14,
from arch/riscv/kernel/asm-offsets.c:10:
include/asm-generic/atomic64.h:24:14: note: previous declaration of 'atomic64_add' was here
24 | extern void atomic64_##op(s64 a, atomic64_t *v);
| ^~~~~~~~~
include/asm-generic/atomic64.h:32:26: note: in expansion of macro 'ATOMIC64_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:82,
from include/linux/rcupdate.h:25,
from include/linux/rculist.h:11,
from include/linux/pid.h:5,
from include/linux/sched.h:14,
from arch/riscv/kernel/asm-offsets.c:10:
>> include/asm-generic/atomic-instrumented.h:959:1: error: static declaration of 'atomic64_sub' follows non-static declaration
959 | atomic64_sub(s64 i, atomic64_t *v)
| ^~~~~~~~~~~~
In file included from include/linux/atomic-arch-fallback.h:1254,
from include/linux/atomic.h:81,
from include/linux/rcupdate.h:25,
from include/linux/rculist.h:11,
from include/linux/pid.h:5,
from include/linux/sched.h:14,
from arch/riscv/kernel/asm-offsets.c:10:
include/asm-generic/atomic64.h:24:14: note: previous declaration of 'atomic64_sub' was here
24 | extern void atomic64_##op(s64 a, atomic64_t *v);
| ^~~~~~~~~
include/asm-generic/atomic64.h:32:26: note: in expansion of macro 'ATOMIC64_OP'
32 | #define ATOMIC64_OPS(op) ATOMIC64_OP(op) ATOMIC64_OP_RETURN(op) ATOMIC64_FETCH_OP(op)
| ^~~~~~~~~~~
include/asm-generic/atomic64.h:35:1: note: in expansion of macro 'ATOMIC64_OPS'
35 | ATOMIC64_OPS(sub)
| ^~~~~~~~~~~~
In file included from include/linux/atomic.h:82,
from include/linux/rcupdate.h:25,
from include/linux/rculist.h:11,
from include/linux/pid.h:5,
from include/linux/sched.h:14,
from arch/riscv/kernel/asm-offsets.c:10:
>> include/asm-generic/atomic-instrumented.h:1227:1: error: static declaration of 'atomic64_and' follows non-static declaration
1227 | atomic64_and(s64 i, atomic64_t *v)
| ^~~~~~~~~~~~
In file included from include/linux/atomic-arch-fallback.h:1254,
from include/linux/atomic.h:81,
from include/linux/rcupdate.h:25,
from include/linux/rculist.h:11,
from include/linux/pid.h:5,
from include/linux/sched.h:14,
from arch/riscv/kernel/asm-offsets.c:10:
include/asm-generic/atomic64.h:24:14: note: previous declaration of 'atomic64_and' was here
24 | extern void atomic64_##op(s64 a, atomic64_t *v);
| ^~~~~~~~~
include/asm-generic/atomic64.h:38:26: note: in expansion of macro 'ATOMIC64_OP'
38 | #define ATOMIC64_OPS(op) ATOMIC64_OP(op) ATOMIC64_FETCH_OP(op)
| ^~~~~~~~~~~
include/asm-generic/atomic64.h:40:1: note: in expansion of macro 'ATOMIC64_OPS'
40 | ATOMIC64_OPS(and)
| ^~~~~~~~~~~~
In file included from include/linux/atomic.h:82,
from include/linux/rcupdate.h:25,
from include/linux/rculist.h:11,
from include/linux/pid.h:5,
from include/linux/sched.h:14,
from arch/riscv/kernel/asm-offsets.c:10:
>> include/asm-generic/atomic-instrumented.h:1325:1: error: static declaration of 'atomic64_or' follows non-static declaration
1325 | atomic64_or(s64 i, atomic64_t *v)
| ^~~~~~~~~~~
In file included from include/linux/atomic-arch-fallback.h:1254,
from include/linux/atomic.h:81,
from include/linux/rcupdate.h:25,
from include/linux/rculist.h:11,
from include/linux/pid.h:5,
from include/linux/sched.h:14,
from arch/riscv/kernel/asm-offsets.c:10:
include/asm-generic/atomic64.h:24:14: note: previous declaration of 'atomic64_or' was here
24 | extern void atomic64_##op(s64 a, atomic64_t *v);
| ^~~~~~~~~
include/asm-generic/atomic64.h:38:26: note: in expansion of macro 'ATOMIC64_OP'
38 | #define ATOMIC64_OPS(op) ATOMIC64_OP(op) ATOMIC64_FETCH_OP(op)
| ^~~~~~~~~~~
include/asm-generic/atomic64.h:41:1: note: in expansion of macro 'ATOMIC64_OPS'
41 | ATOMIC64_OPS(or)
| ^~~~~~~~~~~~
In file included from include/linux/atomic.h:82,
from include/linux/rcupdate.h:25,
from include/linux/rculist.h:11,
from include/linux/pid.h:5,
from include/linux/sched.h:14,
from arch/riscv/kernel/asm-offsets.c:10:
include/asm-generic/atomic-instrumented.h: In function 'atomic64_or':
>> include/asm-generic/atomic-instrumented.h:1328:2: error: implicit declaration of function 'arch_atomic64_or'; did you mean 'arch_atomic_or'? [-Werror=implicit-function-declaration]
1328 | arch_atomic64_or(i, v);
| ^~~~~~~~~~~~~~~~
| arch_atomic_or
In file included from include/linux/atomic.h:81,
from include/linux/rcupdate.h:25,
from include/linux/rculist.h:11,
from include/linux/pid.h:5,
from include/linux/sched.h:14,
from arch/riscv/kernel/asm-offsets.c:10:
include/asm-generic/atomic-instrumented.h: In function 'atomic64_fetch_or_acquire':
include/linux/atomic-arch-fallback.h:1918:40: error: implicit declaration of function 'arch_atomic64_fetch_or'; did you mean 'arch_atomic_fetch_or'? [-Werror=implicit-function-declaration]
1918 | #define arch_atomic64_fetch_or_acquire arch_atomic64_fetch_or
| ^~~~~~~~~~~~~~~~~~~~~~
include/asm-generic/atomic-instrumented.h:1347:9: note: in expansion of macro 'arch_atomic64_fetch_or_acquire'
1347 | return arch_atomic64_fetch_or_acquire(i, v);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from include/linux/atomic.h:82,
from include/linux/rcupdate.h:25,
from include/linux/rculist.h:11,
from include/linux/pid.h:5,
from include/linux/sched.h:14,
from arch/riscv/kernel/asm-offsets.c:10:
include/asm-generic/atomic-instrumented.h: At top level:
include/asm-generic/atomic-instrumented.h:1373:1: error: static declaration of 'atomic64_xor' follows non-static declaration
1373 | atomic64_xor(s64 i, atomic64_t *v)
| ^~~~~~~~~~~~
In file included from include/linux/atomic-arch-fallback.h:1254,
from include/linux/atomic.h:81,
from include/linux/rcupdate.h:25,
from include/linux/rculist.h:11,
from include/linux/pid.h:5,
from include/linux/sched.h:14,
from arch/riscv/kernel/asm-offsets.c:10:
include/asm-generic/atomic64.h:24:14: note: previous declaration of 'atomic64_xor' was here
24 | extern void atomic64_##op(s64 a, atomic64_t *v);
| ^~~~~~~~~
include/asm-generic/atomic64.h:38:26: note: in expansion of macro 'ATOMIC64_OP'
38 | #define ATOMIC64_OPS(op) ATOMIC64_OP(op) ATOMIC64_FETCH_OP(op)
| ^~~~~~~~~~~
include/asm-generic/atomic64.h:42:1: note: in expansion of macro 'ATOMIC64_OPS'
42 | ATOMIC64_OPS(xor)
| ^~~~~~~~~~~~
In file included from include/linux/atomic.h:82,
from include/linux/rcupdate.h:25,
from include/linux/rculist.h:11,
from include/linux/pid.h:5,
from include/linux/sched.h:14,
from arch/riscv/kernel/asm-offsets.c:10:
include/asm-generic/atomic-instrumented.h: In function 'atomic64_xor':
include/asm-generic/atomic-instrumented.h:1376:2: error: implicit declaration of function 'arch_atomic64_xor'; did you mean 'arch_atomic_xor'? [-Werror=implicit-function-declaration]
1376 | arch_atomic64_xor(i, v);
| ^~~~~~~~~~~~~~~~~
| arch_atomic_xor
In file included from include/linux/atomic.h:81,
from include/linux/rcupdate.h:25,
from include/linux/rculist.h:11,
from include/linux/pid.h:5,
from include/linux/sched.h:14,
from arch/riscv/kernel/asm-offsets.c:10:
include/asm-generic/atomic-instrumented.h: In function 'atomic64_fetch_xor_acquire':
include/linux/atomic-arch-fallback.h:1960:41: error: implicit declaration of function 'arch_atomic64_fetch_xor'; did you mean 'arch_atomic_fetch_xor'? [-Werror=implicit-function-declaration]
1960 | #define arch_atomic64_fetch_xor_acquire arch_atomic64_fetch_xor
| ^~~~~~~~~~~~~~~~~~~~~~~
include/asm-generic/atomic-instrumented.h:1395:9: note: in expansion of macro 'arch_atomic64_fetch_xor_acquire'
1395 | return arch_atomic64_fetch_xor_acquire(i, v);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/asm-generic/atomic-instrumented.h: In function 'atomic64_xchg_acquire':
include/linux/atomic-arch-fallback.h:2002:36: error: implicit declaration of function 'arch_atomic64_xchg'; did you mean 'arch_atomic_xchg'? [-Werror=implicit-function-declaration]
2002 | #define arch_atomic64_xchg_acquire arch_atomic64_xchg
| ^~~~~~~~~~~~~~~~~~
include/asm-generic/atomic-instrumented.h:1435:9: note: in expansion of macro 'arch_atomic64_xchg_acquire'
1435 | return arch_atomic64_xchg_acquire(v, i);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from include/linux/atomic-arch-fallback.h:1254,
from include/linux/atomic.h:81,
from include/linux/rcupdate.h:25,
from include/linux/rculist.h:11,
from include/linux/pid.h:5,
from include/linux/sched.h:14,
from arch/riscv/kernel/asm-offsets.c:10:
include/asm-generic/atomic-instrumented.h: At top level:
include/asm-generic/atomic64.h:54:35: error: static declaration of 'atomic64_fetch_add_unless' follows non-static declaration
54 | #define atomic64_fetch_add_unless atomic64_fetch_add_unless
| ^~~~~~~~~~~~~~~~~~~~~~~~~
include/asm-generic/atomic-instrumented.h:1586:1: note: in expansion of macro 'atomic64_fetch_add_unless'
1586 | atomic64_fetch_add_unless(atomic64_t *v, s64 a, s64 u)
| ^~~~~~~~~~~~~~~~~~~~~~~~~
include/asm-generic/atomic64.h:53:12: note: previous declaration of 'atomic64_fetch_add_unless' was here
53 | extern s64 atomic64_fetch_add_unless(atomic64_t *v, s64 a, s64 u);
| ^~~~~~~~~~~~~~~~~~~~~~~~~
include/asm-generic/atomic64.h:50:34: error: static declaration of 'atomic64_dec_if_positive' follows non-static declaration
50 | #define atomic64_dec_if_positive atomic64_dec_if_positive
| ^~~~~~~~~~~~~~~~~~~~~~~~
include/asm-generic/atomic-instrumented.h:1636:1: note: in expansion of macro 'atomic64_dec_if_positive'
1636 | atomic64_dec_if_positive(atomic64_t *v)
| ^~~~~~~~~~~~~~~~~~~~~~~~
include/asm-generic/atomic64.h:49:12: note: previous declaration of 'atomic64_dec_if_positive' was here
49 | extern s64 atomic64_dec_if_positive(atomic64_t *v);
| ^~~~~~~~~~~~~~~~~~~~~~~~
cc1: some warnings being treated as errors
..
vim +1463 include/linux/atomic-arch-fallback.h
37f8173dd84936 Peter Zijlstra 2020-01-24 1442
37f8173dd84936 Peter Zijlstra 2020-01-24 1443 #ifndef arch_atomic64_inc
37f8173dd84936 Peter Zijlstra 2020-01-24 1444 static __always_inline void
37f8173dd84936 Peter Zijlstra 2020-01-24 1445 arch_atomic64_inc(atomic64_t *v)
37f8173dd84936 Peter Zijlstra 2020-01-24 1446 {
37f8173dd84936 Peter Zijlstra 2020-01-24 @1447 arch_atomic64_add(1, v);
37f8173dd84936 Peter Zijlstra 2020-01-24 1448 }
37f8173dd84936 Peter Zijlstra 2020-01-24 1449 #define arch_atomic64_inc arch_atomic64_inc
37f8173dd84936 Peter Zijlstra 2020-01-24 1450 #endif
37f8173dd84936 Peter Zijlstra 2020-01-24 1451
37f8173dd84936 Peter Zijlstra 2020-01-24 1452 #ifndef arch_atomic64_inc_return_relaxed
37f8173dd84936 Peter Zijlstra 2020-01-24 1453 #ifdef arch_atomic64_inc_return
37f8173dd84936 Peter Zijlstra 2020-01-24 1454 #define arch_atomic64_inc_return_acquire arch_atomic64_inc_return
37f8173dd84936 Peter Zijlstra 2020-01-24 1455 #define arch_atomic64_inc_return_release arch_atomic64_inc_return
37f8173dd84936 Peter Zijlstra 2020-01-24 1456 #define arch_atomic64_inc_return_relaxed arch_atomic64_inc_return
37f8173dd84936 Peter Zijlstra 2020-01-24 1457 #endif /* arch_atomic64_inc_return */
37f8173dd84936 Peter Zijlstra 2020-01-24 1458
37f8173dd84936 Peter Zijlstra 2020-01-24 1459 #ifndef arch_atomic64_inc_return
37f8173dd84936 Peter Zijlstra 2020-01-24 1460 static __always_inline s64
37f8173dd84936 Peter Zijlstra 2020-01-24 1461 arch_atomic64_inc_return(atomic64_t *v)
37f8173dd84936 Peter Zijlstra 2020-01-24 1462 {
37f8173dd84936 Peter Zijlstra 2020-01-24 @1463 return arch_atomic64_add_return(1, v);
37f8173dd84936 Peter Zijlstra 2020-01-24 1464 }
37f8173dd84936 Peter Zijlstra 2020-01-24 1465 #define arch_atomic64_inc_return arch_atomic64_inc_return
37f8173dd84936 Peter Zijlstra 2020-01-24 1466 #endif
37f8173dd84936 Peter Zijlstra 2020-01-24 1467
37f8173dd84936 Peter Zijlstra 2020-01-24 1468 #ifndef arch_atomic64_inc_return_acquire
37f8173dd84936 Peter Zijlstra 2020-01-24 1469 static __always_inline s64
37f8173dd84936 Peter Zijlstra 2020-01-24 1470 arch_atomic64_inc_return_acquire(atomic64_t *v)
37f8173dd84936 Peter Zijlstra 2020-01-24 1471 {
37f8173dd84936 Peter Zijlstra 2020-01-24 1472 return arch_atomic64_add_return_acquire(1, v);
37f8173dd84936 Peter Zijlstra 2020-01-24 1473 }
37f8173dd84936 Peter Zijlstra 2020-01-24 1474 #define arch_atomic64_inc_return_acquire arch_atomic64_inc_return_acquire
37f8173dd84936 Peter Zijlstra 2020-01-24 1475 #endif
37f8173dd84936 Peter Zijlstra 2020-01-24 1476
37f8173dd84936 Peter Zijlstra 2020-01-24 1477 #ifndef arch_atomic64_inc_return_release
37f8173dd84936 Peter Zijlstra 2020-01-24 1478 static __always_inline s64
37f8173dd84936 Peter Zijlstra 2020-01-24 1479 arch_atomic64_inc_return_release(atomic64_t *v)
37f8173dd84936 Peter Zijlstra 2020-01-24 1480 {
37f8173dd84936 Peter Zijlstra 2020-01-24 1481 return arch_atomic64_add_return_release(1, v);
37f8173dd84936 Peter Zijlstra 2020-01-24 1482 }
37f8173dd84936 Peter Zijlstra 2020-01-24 1483 #define arch_atomic64_inc_return_release arch_atomic64_inc_return_release
37f8173dd84936 Peter Zijlstra 2020-01-24 1484 #endif
37f8173dd84936 Peter Zijlstra 2020-01-24 1485
37f8173dd84936 Peter Zijlstra 2020-01-24 1486 #ifndef arch_atomic64_inc_return_relaxed
37f8173dd84936 Peter Zijlstra 2020-01-24 1487 static __always_inline s64
37f8173dd84936 Peter Zijlstra 2020-01-24 1488 arch_atomic64_inc_return_relaxed(atomic64_t *v)
37f8173dd84936 Peter Zijlstra 2020-01-24 1489 {
37f8173dd84936 Peter Zijlstra 2020-01-24 1490 return arch_atomic64_add_return_relaxed(1, v);
37f8173dd84936 Peter Zijlstra 2020-01-24 1491 }
37f8173dd84936 Peter Zijlstra 2020-01-24 1492 #define arch_atomic64_inc_return_relaxed arch_atomic64_inc_return_relaxed
37f8173dd84936 Peter Zijlstra 2020-01-24 1493 #endif
37f8173dd84936 Peter Zijlstra 2020-01-24 1494
37f8173dd84936 Peter Zijlstra 2020-01-24 1495 #else /* arch_atomic64_inc_return_relaxed */
37f8173dd84936 Peter Zijlstra 2020-01-24 1496
37f8173dd84936 Peter Zijlstra 2020-01-24 1497 #ifndef arch_atomic64_inc_return_acquire
37f8173dd84936 Peter Zijlstra 2020-01-24 1498 static __always_inline s64
37f8173dd84936 Peter Zijlstra 2020-01-24 1499 arch_atomic64_inc_return_acquire(atomic64_t *v)
37f8173dd84936 Peter Zijlstra 2020-01-24 1500 {
37f8173dd84936 Peter Zijlstra 2020-01-24 1501 s64 ret = arch_atomic64_inc_return_relaxed(v);
37f8173dd84936 Peter Zijlstra 2020-01-24 1502 __atomic_acquire_fence();
37f8173dd84936 Peter Zijlstra 2020-01-24 1503 return ret;
37f8173dd84936 Peter Zijlstra 2020-01-24 1504 }
37f8173dd84936 Peter Zijlstra 2020-01-24 1505 #define arch_atomic64_inc_return_acquire arch_atomic64_inc_return_acquire
37f8173dd84936 Peter Zijlstra 2020-01-24 1506 #endif
37f8173dd84936 Peter Zijlstra 2020-01-24 1507
37f8173dd84936 Peter Zijlstra 2020-01-24 1508 #ifndef arch_atomic64_inc_return_release
37f8173dd84936 Peter Zijlstra 2020-01-24 1509 static __always_inline s64
37f8173dd84936 Peter Zijlstra 2020-01-24 1510 arch_atomic64_inc_return_release(atomic64_t *v)
37f8173dd84936 Peter Zijlstra 2020-01-24 1511 {
37f8173dd84936 Peter Zijlstra 2020-01-24 1512 __atomic_release_fence();
37f8173dd84936 Peter Zijlstra 2020-01-24 1513 return arch_atomic64_inc_return_relaxed(v);
37f8173dd84936 Peter Zijlstra 2020-01-24 1514 }
37f8173dd84936 Peter Zijlstra 2020-01-24 1515 #define arch_atomic64_inc_return_release arch_atomic64_inc_return_release
37f8173dd84936 Peter Zijlstra 2020-01-24 1516 #endif
37f8173dd84936 Peter Zijlstra 2020-01-24 1517
37f8173dd84936 Peter Zijlstra 2020-01-24 1518 #ifndef arch_atomic64_inc_return
37f8173dd84936 Peter Zijlstra 2020-01-24 1519 static __always_inline s64
37f8173dd84936 Peter Zijlstra 2020-01-24 1520 arch_atomic64_inc_return(atomic64_t *v)
37f8173dd84936 Peter Zijlstra 2020-01-24 1521 {
37f8173dd84936 Peter Zijlstra 2020-01-24 1522 s64 ret;
37f8173dd84936 Peter Zijlstra 2020-01-24 1523 __atomic_pre_full_fence();
37f8173dd84936 Peter Zijlstra 2020-01-24 1524 ret = arch_atomic64_inc_return_relaxed(v);
37f8173dd84936 Peter Zijlstra 2020-01-24 1525 __atomic_post_full_fence();
37f8173dd84936 Peter Zijlstra 2020-01-24 1526 return ret;
37f8173dd84936 Peter Zijlstra 2020-01-24 1527 }
37f8173dd84936 Peter Zijlstra 2020-01-24 1528 #define arch_atomic64_inc_return arch_atomic64_inc_return
37f8173dd84936 Peter Zijlstra 2020-01-24 1529 #endif
37f8173dd84936 Peter Zijlstra 2020-01-24 1530
37f8173dd84936 Peter Zijlstra 2020-01-24 1531 #endif /* arch_atomic64_inc_return_relaxed */
37f8173dd84936 Peter Zijlstra 2020-01-24 1532
37f8173dd84936 Peter Zijlstra 2020-01-24 1533 #ifndef arch_atomic64_fetch_inc_relaxed
37f8173dd84936 Peter Zijlstra 2020-01-24 1534 #ifdef arch_atomic64_fetch_inc
37f8173dd84936 Peter Zijlstra 2020-01-24 1535 #define arch_atomic64_fetch_inc_acquire arch_atomic64_fetch_inc
37f8173dd84936 Peter Zijlstra 2020-01-24 1536 #define arch_atomic64_fetch_inc_release arch_atomic64_fetch_inc
37f8173dd84936 Peter Zijlstra 2020-01-24 1537 #define arch_atomic64_fetch_inc_relaxed arch_atomic64_fetch_inc
37f8173dd84936 Peter Zijlstra 2020-01-24 1538 #endif /* arch_atomic64_fetch_inc */
37f8173dd84936 Peter Zijlstra 2020-01-24 1539
37f8173dd84936 Peter Zijlstra 2020-01-24 1540 #ifndef arch_atomic64_fetch_inc
37f8173dd84936 Peter Zijlstra 2020-01-24 1541 static __always_inline s64
37f8173dd84936 Peter Zijlstra 2020-01-24 1542 arch_atomic64_fetch_inc(atomic64_t *v)
37f8173dd84936 Peter Zijlstra 2020-01-24 1543 {
37f8173dd84936 Peter Zijlstra 2020-01-24 @1544 return arch_atomic64_fetch_add(1, v);
37f8173dd84936 Peter Zijlstra 2020-01-24 1545 }
37f8173dd84936 Peter Zijlstra 2020-01-24 1546 #define arch_atomic64_fetch_inc arch_atomic64_fetch_inc
37f8173dd84936 Peter Zijlstra 2020-01-24 1547 #endif
37f8173dd84936 Peter Zijlstra 2020-01-24 1548
37f8173dd84936 Peter Zijlstra 2020-01-24 1549 #ifndef arch_atomic64_fetch_inc_acquire
37f8173dd84936 Peter Zijlstra 2020-01-24 1550 static __always_inline s64
37f8173dd84936 Peter Zijlstra 2020-01-24 1551 arch_atomic64_fetch_inc_acquire(atomic64_t *v)
37f8173dd84936 Peter Zijlstra 2020-01-24 1552 {
37f8173dd84936 Peter Zijlstra 2020-01-24 1553 return arch_atomic64_fetch_add_acquire(1, v);
37f8173dd84936 Peter Zijlstra 2020-01-24 1554 }
37f8173dd84936 Peter Zijlstra 2020-01-24 1555 #define arch_atomic64_fetch_inc_acquire arch_atomic64_fetch_inc_acquire
37f8173dd84936 Peter Zijlstra 2020-01-24 1556 #endif
37f8173dd84936 Peter Zijlstra 2020-01-24 1557
37f8173dd84936 Peter Zijlstra 2020-01-24 1558 #ifndef arch_atomic64_fetch_inc_release
37f8173dd84936 Peter Zijlstra 2020-01-24 1559 static __always_inline s64
37f8173dd84936 Peter Zijlstra 2020-01-24 1560 arch_atomic64_fetch_inc_release(atomic64_t *v)
37f8173dd84936 Peter Zijlstra 2020-01-24 1561 {
37f8173dd84936 Peter Zijlstra 2020-01-24 1562 return arch_atomic64_fetch_add_release(1, v);
37f8173dd84936 Peter Zijlstra 2020-01-24 1563 }
37f8173dd84936 Peter Zijlstra 2020-01-24 1564 #define arch_atomic64_fetch_inc_release arch_atomic64_fetch_inc_release
37f8173dd84936 Peter Zijlstra 2020-01-24 1565 #endif
37f8173dd84936 Peter Zijlstra 2020-01-24 1566
37f8173dd84936 Peter Zijlstra 2020-01-24 1567 #ifndef arch_atomic64_fetch_inc_relaxed
37f8173dd84936 Peter Zijlstra 2020-01-24 1568 static __always_inline s64
37f8173dd84936 Peter Zijlstra 2020-01-24 1569 arch_atomic64_fetch_inc_relaxed(atomic64_t *v)
37f8173dd84936 Peter Zijlstra 2020-01-24 1570 {
37f8173dd84936 Peter Zijlstra 2020-01-24 1571 return arch_atomic64_fetch_add_relaxed(1, v);
37f8173dd84936 Peter Zijlstra 2020-01-24 1572 }
37f8173dd84936 Peter Zijlstra 2020-01-24 1573 #define arch_atomic64_fetch_inc_relaxed arch_atomic64_fetch_inc_relaxed
37f8173dd84936 Peter Zijlstra 2020-01-24 1574 #endif
37f8173dd84936 Peter Zijlstra 2020-01-24 1575
37f8173dd84936 Peter Zijlstra 2020-01-24 1576 #else /* arch_atomic64_fetch_inc_relaxed */
37f8173dd84936 Peter Zijlstra 2020-01-24 1577
37f8173dd84936 Peter Zijlstra 2020-01-24 1578 #ifndef arch_atomic64_fetch_inc_acquire
37f8173dd84936 Peter Zijlstra 2020-01-24 1579 static __always_inline s64
37f8173dd84936 Peter Zijlstra 2020-01-24 1580 arch_atomic64_fetch_inc_acquire(atomic64_t *v)
37f8173dd84936 Peter Zijlstra 2020-01-24 1581 {
37f8173dd84936 Peter Zijlstra 2020-01-24 1582 s64 ret = arch_atomic64_fetch_inc_relaxed(v);
37f8173dd84936 Peter Zijlstra 2020-01-24 1583 __atomic_acquire_fence();
37f8173dd84936 Peter Zijlstra 2020-01-24 1584 return ret;
37f8173dd84936 Peter Zijlstra 2020-01-24 1585 }
37f8173dd84936 Peter Zijlstra 2020-01-24 1586 #define arch_atomic64_fetch_inc_acquire arch_atomic64_fetch_inc_acquire
37f8173dd84936 Peter Zijlstra 2020-01-24 1587 #endif
37f8173dd84936 Peter Zijlstra 2020-01-24 1588
37f8173dd84936 Peter Zijlstra 2020-01-24 1589 #ifndef arch_atomic64_fetch_inc_release
37f8173dd84936 Peter Zijlstra 2020-01-24 1590 static __always_inline s64
37f8173dd84936 Peter Zijlstra 2020-01-24 1591 arch_atomic64_fetch_inc_release(atomic64_t *v)
37f8173dd84936 Peter Zijlstra 2020-01-24 1592 {
37f8173dd84936 Peter Zijlstra 2020-01-24 1593 __atomic_release_fence();
37f8173dd84936 Peter Zijlstra 2020-01-24 1594 return arch_atomic64_fetch_inc_relaxed(v);
37f8173dd84936 Peter Zijlstra 2020-01-24 1595 }
37f8173dd84936 Peter Zijlstra 2020-01-24 1596 #define arch_atomic64_fetch_inc_release arch_atomic64_fetch_inc_release
37f8173dd84936 Peter Zijlstra 2020-01-24 1597 #endif
37f8173dd84936 Peter Zijlstra 2020-01-24 1598
37f8173dd84936 Peter Zijlstra 2020-01-24 1599 #ifndef arch_atomic64_fetch_inc
37f8173dd84936 Peter Zijlstra 2020-01-24 1600 static __always_inline s64
37f8173dd84936 Peter Zijlstra 2020-01-24 1601 arch_atomic64_fetch_inc(atomic64_t *v)
37f8173dd84936 Peter Zijlstra 2020-01-24 1602 {
37f8173dd84936 Peter Zijlstra 2020-01-24 1603 s64 ret;
37f8173dd84936 Peter Zijlstra 2020-01-24 1604 __atomic_pre_full_fence();
37f8173dd84936 Peter Zijlstra 2020-01-24 1605 ret = arch_atomic64_fetch_inc_relaxed(v);
37f8173dd84936 Peter Zijlstra 2020-01-24 1606 __atomic_post_full_fence();
37f8173dd84936 Peter Zijlstra 2020-01-24 1607 return ret;
37f8173dd84936 Peter Zijlstra 2020-01-24 1608 }
37f8173dd84936 Peter Zijlstra 2020-01-24 1609 #define arch_atomic64_fetch_inc arch_atomic64_fetch_inc
37f8173dd84936 Peter Zijlstra 2020-01-24 1610 #endif
37f8173dd84936 Peter Zijlstra 2020-01-24 1611
37f8173dd84936 Peter Zijlstra 2020-01-24 1612 #endif /* arch_atomic64_fetch_inc_relaxed */
37f8173dd84936 Peter Zijlstra 2020-01-24 1613
37f8173dd84936 Peter Zijlstra 2020-01-24 1614 #ifndef arch_atomic64_dec
37f8173dd84936 Peter Zijlstra 2020-01-24 1615 static __always_inline void
37f8173dd84936 Peter Zijlstra 2020-01-24 1616 arch_atomic64_dec(atomic64_t *v)
37f8173dd84936 Peter Zijlstra 2020-01-24 1617 {
37f8173dd84936 Peter Zijlstra 2020-01-24 @1618 arch_atomic64_sub(1, v);
37f8173dd84936 Peter Zijlstra 2020-01-24 1619 }
37f8173dd84936 Peter Zijlstra 2020-01-24 1620 #define arch_atomic64_dec arch_atomic64_dec
37f8173dd84936 Peter Zijlstra 2020-01-24 1621 #endif
37f8173dd84936 Peter Zijlstra 2020-01-24 1622
37f8173dd84936 Peter Zijlstra 2020-01-24 1623 #ifndef arch_atomic64_dec_return_relaxed
37f8173dd84936 Peter Zijlstra 2020-01-24 1624 #ifdef arch_atomic64_dec_return
37f8173dd84936 Peter Zijlstra 2020-01-24 1625 #define arch_atomic64_dec_return_acquire arch_atomic64_dec_return
37f8173dd84936 Peter Zijlstra 2020-01-24 1626 #define arch_atomic64_dec_return_release arch_atomic64_dec_return
37f8173dd84936 Peter Zijlstra 2020-01-24 1627 #define arch_atomic64_dec_return_relaxed arch_atomic64_dec_return
37f8173dd84936 Peter Zijlstra 2020-01-24 1628 #endif /* arch_atomic64_dec_return */
37f8173dd84936 Peter Zijlstra 2020-01-24 1629
37f8173dd84936 Peter Zijlstra 2020-01-24 1630 #ifndef arch_atomic64_dec_return
37f8173dd84936 Peter Zijlstra 2020-01-24 1631 static __always_inline s64
37f8173dd84936 Peter Zijlstra 2020-01-24 1632 arch_atomic64_dec_return(atomic64_t *v)
37f8173dd84936 Peter Zijlstra 2020-01-24 1633 {
37f8173dd84936 Peter Zijlstra 2020-01-24 @1634 return arch_atomic64_sub_return(1, v);
37f8173dd84936 Peter Zijlstra 2020-01-24 1635 }
37f8173dd84936 Peter Zijlstra 2020-01-24 1636 #define arch_atomic64_dec_return arch_atomic64_dec_return
37f8173dd84936 Peter Zijlstra 2020-01-24 1637 #endif
37f8173dd84936 Peter Zijlstra 2020-01-24 1638
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
1 year, 5 months
[peterz-queue:sched/core-sched 27/29] kernel/sched/core.c:9497:11: error: implicit declaration of function 'sched_core_cgroup_cookie'
by kernel test robot
tree: https://git.kernel.org/pub/scm/linux/kernel/git/peterz/queue.git sched/core-sched
head: b417ddaf222294bcc35e9857105ab37d9b0fd715
commit: 7841ce54261f3c407cf52de13712261521ae9403 [27/29] sched: Cgroup core-scheduling interface
config: mips-randconfig-r024-20210415 (attached as .config)
compiler: mips-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://git.kernel.org/pub/scm/linux/kernel/git/peterz/queue.git/commit/?...
git remote add peterz-queue https://git.kernel.org/pub/scm/linux/kernel/git/peterz/queue.git
git fetch --no-tags peterz-queue sched/core-sched
git checkout 7841ce54261f3c407cf52de13712261521ae9403
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross W=1 ARCH=mips
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All errors (new ones prefixed by >>):
kernel/sched/core.c: In function 'ttwu_stat':
kernel/sched/core.c:3232:13: warning: variable 'rq' set but not used [-Wunused-but-set-variable]
3232 | struct rq *rq;
| ^~
kernel/sched/core.c: In function 'sched_free_group':
kernel/sched/core.c:9359:2: error: implicit declaration of function 'sched_core_cgroup_free'; did you mean 'sched_core_free'? [-Werror=implicit-function-declaration]
9359 | sched_core_cgroup_free(tg);
| ^~~~~~~~~~~~~~~~~~~~~~
| sched_core_free
kernel/sched/core.c: In function 'sched_online_group':
kernel/sched/core.c:9404:2: error: implicit declaration of function 'sched_core_cgroup_online' [-Werror=implicit-function-declaration]
9404 | sched_core_cgroup_online(parent, tg);
| ^~~~~~~~~~~~~~~~~~~~~~~~
kernel/sched/core.c: In function 'sched_move_task':
>> kernel/sched/core.c:9497:11: error: implicit declaration of function 'sched_core_cgroup_cookie' [-Werror=implicit-function-declaration]
9497 | cookie = sched_core_cgroup_cookie(tsk->sched_task_group);
| ^~~~~~~~~~~~~~~~~~~~~~~~
kernel/sched/core.c:9498:11: error: implicit declaration of function 'sched_core_update_cookie' [-Werror=implicit-function-declaration]
9498 | cookie = sched_core_update_cookie(tsk, cookie);
| ^~~~~~~~~~~~~~~~~~~~~~~~
kernel/sched/core.c:9499:2: error: implicit declaration of function 'sched_core_put_cookie' [-Werror=implicit-function-declaration]
9499 | sched_core_put_cookie(cookie);
| ^~~~~~~~~~~~~~~~~~~~~
cc1: some warnings being treated as errors
vim +/sched_core_cgroup_cookie +9497 kernel/sched/core.c
9454
9455 /*
9456 * Change task's runqueue when it moves between groups.
9457 *
9458 * The caller of this function should have put the task in its new group by
9459 * now. This function just updates tsk->se.cfs_rq and tsk->se.parent to reflect
9460 * its new group.
9461 */
9462 void sched_move_task(struct task_struct *tsk)
9463 {
9464 int queued, running, queue_flags =
9465 DEQUEUE_SAVE | DEQUEUE_MOVE | DEQUEUE_NOCLOCK;
9466 unsigned long cookie;
9467 struct rq_flags rf;
9468 struct rq *rq;
9469
9470 rq = task_rq_lock(tsk, &rf);
9471 update_rq_clock(rq);
9472
9473 running = task_current(rq, tsk);
9474 queued = task_on_rq_queued(tsk);
9475
9476 if (queued)
9477 dequeue_task(rq, tsk, queue_flags);
9478 if (running)
9479 put_prev_task(rq, tsk);
9480
9481 sched_change_group(tsk, TASK_MOVE_GROUP);
9482
9483 if (queued)
9484 enqueue_task(rq, tsk, queue_flags);
9485 if (running) {
9486 set_next_task(rq, tsk);
9487 /*
9488 * After changing group, the running task may have joined a
9489 * throttled one but it's still the running task. Trigger a
9490 * resched to make sure that task can still run.
9491 */
9492 resched_curr(rq);
9493 }
9494
9495 task_rq_unlock(rq, tsk, &rf);
9496
> 9497 cookie = sched_core_cgroup_cookie(tsk->sched_task_group);
9498 cookie = sched_core_update_cookie(tsk, cookie);
9499 sched_core_put_cookie(cookie);
9500 }
9501
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
1 year, 5 months
[staging:staging-testing 704/705] drivers/comedi/drivers/comedi_isadma.c:25:10: error: implicit declaration of function 'claim_dma_lock'
by kernel test robot
Hi Greg,
First bad commit (maybe != root cause):
tree: https://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging.git staging-testing
head: 71d3edc61e29e45b613b841108688d711846f969
commit: 8ffdff6a8cfbdc174a3a390b6f825a277b5bb895 [704/705] staging: comedi: move out of staging directory
config: m68k-randconfig-r006-20210415 (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
# https://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging.git/commit...
git remote add staging https://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging.git
git fetch --no-tags staging staging-testing
git checkout 8ffdff6a8cfbdc174a3a390b6f825a277b5bb895
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross W=1 ARCH=m68k
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All errors (new ones prefixed by >>):
drivers/comedi/drivers/comedi_isadma.c: In function 'comedi_isadma_program':
>> drivers/comedi/drivers/comedi_isadma.c:25:10: error: implicit declaration of function 'claim_dma_lock' [-Werror=implicit-function-declaration]
25 | flags = claim_dma_lock();
| ^~~~~~~~~~~~~~
>> drivers/comedi/drivers/comedi_isadma.c:31:2: error: implicit declaration of function 'release_dma_lock'; did you mean 'release_task'? [-Werror=implicit-function-declaration]
31 | release_dma_lock(flags);
| ^~~~~~~~~~~~~~~~
| release_task
cc1: some warnings being treated as errors
vim +/claim_dma_lock +25 drivers/comedi/drivers/comedi_isadma.c
20a1ea7d6ba184 drivers/staging/comedi/drivers/comedi_isadma.c H Hartley Sweeten 2015-01-14 16
20a1ea7d6ba184 drivers/staging/comedi/drivers/comedi_isadma.c H Hartley Sweeten 2015-01-14 17 /**
20a1ea7d6ba184 drivers/staging/comedi/drivers/comedi_isadma.c H Hartley Sweeten 2015-01-14 18 * comedi_isadma_program - program and enable an ISA DMA transfer
20a1ea7d6ba184 drivers/staging/comedi/drivers/comedi_isadma.c H Hartley Sweeten 2015-01-14 19 * @desc: the ISA DMA cookie to program and enable
20a1ea7d6ba184 drivers/staging/comedi/drivers/comedi_isadma.c H Hartley Sweeten 2015-01-14 20 */
20a1ea7d6ba184 drivers/staging/comedi/drivers/comedi_isadma.c H Hartley Sweeten 2015-01-14 21 void comedi_isadma_program(struct comedi_isadma_desc *desc)
20a1ea7d6ba184 drivers/staging/comedi/drivers/comedi_isadma.c H Hartley Sweeten 2015-01-14 22 {
20a1ea7d6ba184 drivers/staging/comedi/drivers/comedi_isadma.c H Hartley Sweeten 2015-01-14 23 unsigned long flags;
20a1ea7d6ba184 drivers/staging/comedi/drivers/comedi_isadma.c H Hartley Sweeten 2015-01-14 24
20a1ea7d6ba184 drivers/staging/comedi/drivers/comedi_isadma.c H Hartley Sweeten 2015-01-14 @25 flags = claim_dma_lock();
20a1ea7d6ba184 drivers/staging/comedi/drivers/comedi_isadma.c H Hartley Sweeten 2015-01-14 26 clear_dma_ff(desc->chan);
20a1ea7d6ba184 drivers/staging/comedi/drivers/comedi_isadma.c H Hartley Sweeten 2015-01-14 27 set_dma_mode(desc->chan, desc->mode);
20a1ea7d6ba184 drivers/staging/comedi/drivers/comedi_isadma.c H Hartley Sweeten 2015-01-14 28 set_dma_addr(desc->chan, desc->hw_addr);
20a1ea7d6ba184 drivers/staging/comedi/drivers/comedi_isadma.c H Hartley Sweeten 2015-01-14 29 set_dma_count(desc->chan, desc->size);
20a1ea7d6ba184 drivers/staging/comedi/drivers/comedi_isadma.c H Hartley Sweeten 2015-01-14 30 enable_dma(desc->chan);
20a1ea7d6ba184 drivers/staging/comedi/drivers/comedi_isadma.c H Hartley Sweeten 2015-01-14 @31 release_dma_lock(flags);
20a1ea7d6ba184 drivers/staging/comedi/drivers/comedi_isadma.c H Hartley Sweeten 2015-01-14 32 }
20a1ea7d6ba184 drivers/staging/comedi/drivers/comedi_isadma.c H Hartley Sweeten 2015-01-14 33 EXPORT_SYMBOL_GPL(comedi_isadma_program);
20a1ea7d6ba184 drivers/staging/comedi/drivers/comedi_isadma.c H Hartley Sweeten 2015-01-14 34
:::::: The code at line 25 was first introduced by commit
:::::: 20a1ea7d6ba184a1f6e25e85786738003387cada staging: comedi: comedi_isadma: introduce helper module for ISA DMA
:::::: TO: H Hartley Sweeten <hsweeten(a)visionengravers.com>
:::::: CC: Greg Kroah-Hartman <gregkh(a)linuxfoundation.org>
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
1 year, 5 months
[chrome-os:chromeos-4.19 1/2] drivers/gpu/arm/bifrost/mali_kbase_fence.c:78:1: error: no previous prototype for 'kbase_fence_wait_workaround'
by kernel test robot
tree: https://chromium.googlesource.com/chromiumos/third_party/kernel chromeos-4.19
head: a4d27a9781277d13adcfeed5d8819a96dfe57b60
commit: 68e5cd9b07284ac83dfb140bc670b4d1e365c17a [1/2] CHROMIUM: MALI: Set short timeout for kbase DMA fence
config: arm64-chromiumos-mediatek-customedconfig-chrome-os:chromeos-4.19:a4d27a9781277d13adcfeed5d8819a96dfe57b60 (attached as .config)
compiler: aarch64-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 remote add chrome-os https://chromium.googlesource.com/chromiumos/third_party/kernel
git fetch --no-tags chrome-os chromeos-4.19
git checkout 68e5cd9b07284ac83dfb140bc670b4d1e365c17a
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross W=1 ARCH=arm64
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All errors (new ones prefixed by >>):
drivers/gpu/arm/bifrost/mali_kbase_fence.c: In function 'kbase_fence_fence_value_str':
drivers/gpu/arm/bifrost/mali_kbase_fence.c:71:24: error: format '%u' expects argument of type 'unsigned int', but argument 4 has type 'u64' {aka 'long long unsigned int'} [-Werror=format=]
71 | snprintf(str, size, "%u", fence->seqno);
| ~^ ~~~~~~~~~~~~
| | |
| | u64 {aka long long unsigned int}
| unsigned int
| %llu
drivers/gpu/arm/bifrost/mali_kbase_fence.c: At top level:
>> drivers/gpu/arm/bifrost/mali_kbase_fence.c:78:1: error: no previous prototype for 'kbase_fence_wait_workaround' [-Werror=missing-prototypes]
78 | kbase_fence_wait_workaround(struct dma_fence *fence,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from drivers/gpu/arm/bifrost/mali_kbase_defs.h:37,
from drivers/gpu/arm/bifrost/mali_kbase.h:57,
from drivers/gpu/arm/bifrost/mali_kbase_fence.h:36,
from drivers/gpu/arm/bifrost/mali_kbase_fence.c:27:
drivers/gpu/arm/bifrost/mali_base_hwconfig_issues.h:625:33: error: 'base_hw_issues_model_tE2x' defined but not used [-Werror=unused-const-variable=]
625 | static const enum base_hw_issue base_hw_issues_model_tE2x[] = {
| ^~~~~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/arm/bifrost/mali_base_hwconfig_issues.h:615:33: error: 'base_hw_issues_tE2x_r0p0' defined but not used [-Werror=unused-const-variable=]
615 | static const enum base_hw_issue base_hw_issues_tE2x_r0p0[] = {
| ^~~~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/arm/bifrost/mali_base_hwconfig_issues.h:607:33: error: 'base_hw_issues_model_tTUx' defined but not used [-Werror=unused-const-variable=]
607 | static const enum base_hw_issue base_hw_issues_model_tTUx[] = {
| ^~~~~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/arm/bifrost/mali_base_hwconfig_issues.h:600:33: error: 'base_hw_issues_tTUx_r0p0' defined but not used [-Werror=unused-const-variable=]
600 | static const enum base_hw_issue base_hw_issues_tTUx_r0p0[] = {
| ^~~~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/arm/bifrost/mali_base_hwconfig_issues.h:592:33: error: 'base_hw_issues_model_tVAx' defined but not used [-Werror=unused-const-variable=]
592 | static const enum base_hw_issue base_hw_issues_model_tVAx[] = {
| ^~~~~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/arm/bifrost/mali_base_hwconfig_issues.h:585:33: error: 'base_hw_issues_tVAx_r0p0' defined but not used [-Werror=unused-const-variable=]
585 | static const enum base_hw_issue base_hw_issues_tVAx_r0p0[] = {
| ^~~~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/arm/bifrost/mali_base_hwconfig_issues.h:577:33: error: 'base_hw_issues_model_tGRx' defined but not used [-Werror=unused-const-variable=]
577 | static const enum base_hw_issue base_hw_issues_model_tGRx[] = {
| ^~~~~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/arm/bifrost/mali_base_hwconfig_issues.h:570:33: error: 'base_hw_issues_tGRx_r0p0' defined but not used [-Werror=unused-const-variable=]
570 | static const enum base_hw_issue base_hw_issues_tGRx_r0p0[] = {
| ^~~~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/arm/bifrost/mali_base_hwconfig_issues.h:562:33: error: 'base_hw_issues_model_tODx' defined but not used [-Werror=unused-const-variable=]
562 | static const enum base_hw_issue base_hw_issues_model_tODx[] = {
| ^~~~~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/arm/bifrost/mali_base_hwconfig_issues.h:555:33: error: 'base_hw_issues_tODx_r0p0' defined but not used [-Werror=unused-const-variable=]
555 | static const enum base_hw_issue base_hw_issues_tODx_r0p0[] = {
| ^~~~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/arm/bifrost/mali_base_hwconfig_issues.h:545:33: error: 'base_hw_issues_model_tDUx' defined but not used [-Werror=unused-const-variable=]
545 | static const enum base_hw_issue base_hw_issues_model_tDUx[] = {
| ^~~~~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/arm/bifrost/mali_base_hwconfig_issues.h:535:33: error: 'base_hw_issues_tDUx_r0p0' defined but not used [-Werror=unused-const-variable=]
535 | static const enum base_hw_issue base_hw_issues_tDUx_r0p0[] = {
| ^~~~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/arm/bifrost/mali_base_hwconfig_issues.h:522:33: error: 'base_hw_issues_lBEx_r1p1' defined but not used [-Werror=unused-const-variable=]
522 | static const enum base_hw_issue base_hw_issues_lBEx_r1p1[] = {
| ^~~~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/arm/bifrost/mali_base_hwconfig_issues.h:508:33: error: 'base_hw_issues_lBEx_r1p0' defined but not used [-Werror=unused-const-variable=]
508 | static const enum base_hw_issue base_hw_issues_lBEx_r1p0[] = {
| ^~~~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/arm/bifrost/mali_base_hwconfig_issues.h:496:33: error: 'base_hw_issues_model_tBEx' defined but not used [-Werror=unused-const-variable=]
496 | static const enum base_hw_issue base_hw_issues_model_tBEx[] = {
| ^~~~~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/arm/bifrost/mali_base_hwconfig_issues.h:483:33: error: 'base_hw_issues_tBEx_r1p1' defined but not used [-Werror=unused-const-variable=]
483 | static const enum base_hw_issue base_hw_issues_tBEx_r1p1[] = {
| ^~~~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/arm/bifrost/mali_base_hwconfig_issues.h:470:33: error: 'base_hw_issues_tBEx_r1p0' defined but not used [-Werror=unused-const-variable=]
470 | static const enum base_hw_issue base_hw_issues_tBEx_r1p0[] = {
| ^~~~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/arm/bifrost/mali_base_hwconfig_issues.h:457:33: error: 'base_hw_issues_tBEx_r0p1' defined but not used [-Werror=unused-const-variable=]
457 | static const enum base_hw_issue base_hw_issues_tBEx_r0p1[] = {
| ^~~~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/arm/bifrost/mali_base_hwconfig_issues.h:443:33: error: 'base_hw_issues_tBEx_r0p0' defined but not used [-Werror=unused-const-variable=]
443 | static const enum base_hw_issue base_hw_issues_tBEx_r0p0[] = {
| ^~~~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/arm/bifrost/mali_base_hwconfig_issues.h:431:33: error: 'base_hw_issues_model_tNAx' defined but not used [-Werror=unused-const-variable=]
431 | static const enum base_hw_issue base_hw_issues_model_tNAx[] = {
| ^~~~~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/arm/bifrost/mali_base_hwconfig_issues.h:416:33: error: 'base_hw_issues_tNAx_r0p1' defined but not used [-Werror=unused-const-variable=]
416 | static const enum base_hw_issue base_hw_issues_tNAx_r0p1[] = {
| ^~~~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/arm/bifrost/mali_base_hwconfig_issues.h:400:33: error: 'base_hw_issues_tNAx_r0p0' defined but not used [-Werror=unused-const-variable=]
400 | static const enum base_hw_issue base_hw_issues_tNAx_r0p0[] = {
| ^~~~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/arm/bifrost/mali_base_hwconfig_issues.h:388:33: error: 'base_hw_issues_model_tTRx' defined but not used [-Werror=unused-const-variable=]
388 | static const enum base_hw_issue base_hw_issues_model_tTRx[] = {
| ^~~~~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/arm/bifrost/mali_base_hwconfig_issues.h:373:33: error: 'base_hw_issues_tTRx_r0p2' defined but not used [-Werror=unused-const-variable=]
373 | static const enum base_hw_issue base_hw_issues_tTRx_r0p2[] = {
| ^~~~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/arm/bifrost/mali_base_hwconfig_issues.h:357:33: error: 'base_hw_issues_tTRx_r0p1' defined but not used [-Werror=unused-const-variable=]
357 | static const enum base_hw_issue base_hw_issues_tTRx_r0p1[] = {
| ^~~~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/arm/bifrost/mali_base_hwconfig_issues.h:341:33: error: 'base_hw_issues_tTRx_r0p0' defined but not used [-Werror=unused-const-variable=]
341 | static const enum base_hw_issue base_hw_issues_tTRx_r0p0[] = {
| ^~~~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/arm/bifrost/mali_base_hwconfig_issues.h:331:33: error: 'base_hw_issues_model_tGOx' defined but not used [-Werror=unused-const-variable=]
331 | static const enum base_hw_issue base_hw_issues_model_tGOx[] = {
| ^~~~~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/arm/bifrost/mali_base_hwconfig_issues.h:319:33: error: 'base_hw_issues_tGOx_r1p0' defined but not used [-Werror=unused-const-variable=]
319 | static const enum base_hw_issue base_hw_issues_tGOx_r1p0[] = {
| ^~~~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/arm/bifrost/mali_base_hwconfig_issues.h:307:33: error: 'base_hw_issues_tGOx_r0p0' defined but not used [-Werror=unused-const-variable=]
307 | static const enum base_hw_issue base_hw_issues_tGOx_r0p0[] = {
| ^~~~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/arm/bifrost/mali_base_hwconfig_issues.h:297:33: error: 'base_hw_issues_model_tNOx' defined but not used [-Werror=unused-const-variable=]
297 | static const enum base_hw_issue base_hw_issues_model_tNOx[] = {
| ^~~~~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/arm/bifrost/mali_base_hwconfig_issues.h:285:33: error: 'base_hw_issues_tNOx_r0p0' defined but not used [-Werror=unused-const-variable=]
285 | static const enum base_hw_issue base_hw_issues_tNOx_r0p0[] = {
| ^~~~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/arm/bifrost/mali_base_hwconfig_issues.h:275:33: error: 'base_hw_issues_model_tDVx' defined but not used [-Werror=unused-const-variable=]
vim +/kbase_fence_wait_workaround +78 drivers/gpu/arm/bifrost/mali_kbase_fence.c
62
63 static void
64 #if (LINUX_VERSION_CODE < KERNEL_VERSION(4, 10, 0))
65 kbase_fence_fence_value_str(struct fence *fence, char *str, int size)
66 #else
67 kbase_fence_fence_value_str(struct dma_fence *fence, char *str, int size)
68 #endif
69 {
70 #if (KERNEL_VERSION(5, 1, 0) > LINUX_VERSION_CODE)
> 71 snprintf(str, size, "%u", fence->seqno);
72 #else
73 snprintf(str, size, "%llu", fence->seqno);
74 #endif
75 }
76
77 signed long
> 78 kbase_fence_wait_workaround(struct dma_fence *fence,
79 bool intr,
80 signed long timeout)
81 {
82 /* TODO(fshao): b:175656896: sometimes the screen hangs because the DMA
83 * fences don't get signaled, which triggers system reboot in the end.
84 *
85 * This is a workaround to shorten the wait time of the fence, so the
86 * screen can recover from hanging when the issue happens.
87 *
88 * To properly address this issue we need to first find out which
89 * component is responsible for signaling the Mali DMA fences, but
90 * unfortunately there's no easy way to do that AFAIK.
91 */
92 signed long ret;
93
94 ret = dma_fence_default_wait(fence, intr, msecs_to_jiffies(100));
95 if (ret == 0)
96 pr_err("%s: dma fence wait timed out.", __func__);
97 return ret;
98 }
99
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
1 year, 5 months
Re: [PATCH 13/15] usb: dwc2: Add exit hibernation mode before removing drive
by kernel test robot
Hi Artur,
Thank you for the patch! Perhaps something to improve:
[auto build test WARNING on usb/usb-testing]
[also build test WARNING on next-20210414]
[cannot apply to peter.chen-usb/for-usb-next linus/master balbi-usb/testing/next v5.12-rc7]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch]
url: https://github.com/0day-ci/linux/commits/Artur-Petrosyan/usb-dwc2-Update-...
base: https://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb.git usb-testing
config: x86_64-randconfig-a014-20210415 (attached as .config)
compiler: clang version 13.0.0 (https://github.com/llvm/llvm-project 6a18cc23efad410db48a3ccfc233d215de7d4cb9)
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
# install x86_64 cross compiling tool for clang build
# apt-get install binutils-x86-64-linux-gnu
# https://github.com/0day-ci/linux/commit/8e4dbc0200040af9c752aca4090cd4157...
git remote add linux-review https://github.com/0day-ci/linux
git fetch --no-tags linux-review Artur-Petrosyan/usb-dwc2-Update-exit-hibernation-when-port-reset-is-asserted/20210415-144021
git checkout 8e4dbc0200040af9c752aca4090cd41572e6fb86
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 ARCH=x86_64
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All warnings (new ones prefixed by >>):
>> drivers/usb/dwc2/platform.c:324:7: warning: variable 'gr' is uninitialized when used here [-Wuninitialized]
if (gr->gotgctl & GOTGCTL_CURMODE_HOST) {
^~
drivers/usb/dwc2/platform.c:319:30: note: initialize the variable 'gr' to silence this warning
struct dwc2_gregs_backup *gr;
^
= NULL
1 warning generated.
vim +/gr +324 drivers/usb/dwc2/platform.c
304
305 /**
306 * dwc2_driver_remove() - Called when the DWC_otg core is unregistered with the
307 * DWC_otg driver
308 *
309 * @dev: Platform device
310 *
311 * This routine is called, for example, when the rmmod command is executed. The
312 * device may or may not be electrically present. If it is present, the driver
313 * stops device processing. Any resources used on behalf of this device are
314 * freed.
315 */
316 static int dwc2_driver_remove(struct platform_device *dev)
317 {
318 struct dwc2_hsotg *hsotg = platform_get_drvdata(dev);
319 struct dwc2_gregs_backup *gr;
320 int ret = 0;
321
322 /* Exit Hibernation when driver is removed. */
323 if (hsotg->hibernated) {
> 324 if (gr->gotgctl & GOTGCTL_CURMODE_HOST) {
325 ret = dwc2_exit_hibernation(hsotg, 0, 0, 1);
326 if (ret)
327 dev_err(hsotg->dev,
328 "exit hibernation failed.\n");
329 } else {
330 ret = dwc2_exit_hibernation(hsotg, 0, 0, 0);
331 if (ret)
332 dev_err(hsotg->dev,
333 "exit hibernation failed.\n");
334 }
335 }
336
337 /* Exit Partial Power Down when driver is removed. */
338 if (hsotg->in_ppd) {
339 ret = dwc2_exit_partial_power_down(hsotg, 0, true);
340 if (ret)
341 dev_err(hsotg->dev,
342 "exit partial_power_down failed\n");
343 }
344
345 /* Exit clock gating when driver is removed. */
346 if (hsotg->params.power_down == DWC2_POWER_DOWN_PARAM_NONE &&
347 hsotg->bus_suspended) {
348 if (dwc2_is_device_mode(hsotg))
349 dwc2_gadget_exit_clock_gating(hsotg, 0);
350 else
351 dwc2_host_exit_clock_gating(hsotg, 0);
352 }
353
354 dwc2_debugfs_exit(hsotg);
355 if (hsotg->hcd_enabled)
356 dwc2_hcd_remove(hsotg);
357 if (hsotg->gadget_enabled)
358 dwc2_hsotg_remove(hsotg);
359
360 dwc2_drd_exit(hsotg);
361
362 if (hsotg->params.activate_stm_id_vb_detection)
363 regulator_disable(hsotg->usb33d);
364
365 if (hsotg->ll_hw_enabled)
366 dwc2_lowlevel_hw_disable(hsotg);
367
368 reset_control_assert(hsotg->reset);
369 reset_control_assert(hsotg->reset_ecc);
370
371 return ret;
372 }
373
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
1 year, 5 months