On Fri, Aug 14, 2020 at 12:12:38PM +0800, Xingxing Su wrote: > Fix the following build errors: > > In file included from ./include/linux/time.h:6:0, > from ./include/linux/compat.h:10, > from arch/mips/kernel/asm-offsets.c:12: > ./include/linux/seqlock.h: In function ‘write_seqcount_begin_nested’: > ./include/linux/seqlock.h:286:2: error: implicit declaration of function > ‘raw_smp_processor_id’ [-Werror=implicit-function-declaration] > lockdep_assert_preemption_disabled(); > ^ > ./arch/mips/include/asm/smp.h: At top level: > ./arch/mips/include/asm/smp.h:28:19: error: static declaration of > ‘raw_smp_processor_id’ follows non-static declaration > static inline int raw_smp_processor_id(void) > ^ > cc1: some warnings being treated as errors > scripts/Makefile.build:117: recipe for target > 'arch/mips/kernel/asm-offsets.s' failed > make[1]: *** [arch/mips/kernel/asm-offsets.s] Error 1 > arch/mips/Makefile:396: recipe for target 'archprepare' failed > make: *** [archprepare] Error 2 >
What kernel are you building? Commit 0cd39f4600ed ("locking/seqlock, headers: Untangle the spaghetti monster") should have solved that I think. > > Signed-off-by: Xingxing Su <suxingx...@loongson.cn> > --- > v2: update the commit message > > include/linux/seqlock.h | 1 + > 1 file changed, 1 insertion(+) > > diff --git a/include/linux/seqlock.h b/include/linux/seqlock.h > index 54bc204..4763c13 100644 > --- a/include/linux/seqlock.h > +++ b/include/linux/seqlock.h > @@ -17,6 +17,7 @@ > #include <linux/lockdep.h> > #include <linux/compiler.h> > #include <linux/kcsan-checks.h> > +#include <linux/smp.h> > #include <asm/processor.h> Wrong place, it's lockdep_assert_preemption_disabled() that requires asm/percpu.h, and thus lockdep.h should include linux/smp. before asm/percpu.h