On 03/13/23 at 06:55pm, Thomas Bogendoerfer wrote: ...... > /local/tbogendoerfer/korg/linux/include/linux/spinlock_api_smp.h:111:2: error: implicit declaration of function ‘LOCK_CONTENDED’ [-Werror=implicit-function-declaration] > LOCK_CONTENDED(lock, do_raw_spin_trylock, do_raw_spin_lock); > ^~~~~~~~~~~~~~ > GEN Makefile > Checking missing-syscalls for N32 > CALL /local/tbogendoerfer/korg/linux/scripts/checksyscalls.sh > Checking missing-syscalls for O32 > CALL /local/tbogendoerfer/korg/linux/scripts/checksyscalls.sh > CALL /local/tbogendoerfer/korg/linux/scripts/checksyscalls.sh > CC init/version.o > In file included from /local/tbogendoerfer/korg/linux/include/linux/spinlock.h:311:0, > from /local/tbogendoerfer/korg/linux/include/linux/vmalloc.h:5, > from /local/tbogendoerfer/korg/linux/include/asm-generic/io.h:994, > from /local/tbogendoerfer/korg/linux/arch/mips/include/asm/io.h:618, > from /local/tbogendoerfer/korg/linux/include/linux/io.h:13, > from /local/tbogendoerfer/korg/linux/arch/mips/include/asm/mips-cps.h:11, > from /local/tbogendoerfer/korg/linux/arch/mips/include/asm/smp-ops.h:16, > from /local/tbogendoerfer/korg/linux/arch/mips/include/asm/smp.h:21, > from /local/tbogendoerfer/korg/linux/include/linux/smp.h:113, > from /local/tbogendoerfer/korg/linux/include/linux/lockdep.h:14, > from /local/tbogendoerfer/korg/linux/include/linux/rcupdate.h:29, > from /local/tbogendoerfer/korg/linux/include/linux/rculist.h:11, > from /local/tbogendoerfer/korg/linux/include/linux/pid.h:5, > from /local/tbogendoerfer/korg/linux/include/linux/sched.h:14, > from /local/tbogendoerfer/korg/linux/include/linux/utsname.h:6, > from /local/tbogendoerfer/korg/linux/init/version.c:17: > /local/tbogendoerfer/korg/linux/include/linux/spinlock_api_smp.h: In function ‘__raw_spin_trylock’: > /local/tbogendoerfer/korg/linux/include/linux/spinlock_api_smp.h:90:3: error: implicit declaration of function ‘spin_acquire’ [-Werror=implicit-function-declaration] > spin_acquire(&lock->dep_map, 0, 1, _RET_IP_); > ^~~~~~~~~~~~ > /local/tbogendoerfer/korg/linux/include/linux/spinlock_api_smp.h:90:21: error: ‘raw_spinlock_t {aka struct raw_spinlock}’ has no member named ‘dep_map’ > spin_acquire(&lock->dep_map, 0, 1, _RET_IP_); > ^~ > /local/tbogendoerfer/korg/linux/include/linux/spinlock_api_smp.h: In function ‘__raw_spin_lock_irqsave’: > /local/tbogendoerfer/korg/linux/include/linux/spinlock_api_smp.h:110:20: error: ‘raw_spinlock_t {aka struct raw_spinlock}’ has no member named ‘dep_map’ > spin_acquire(&lock->dep_map, 0, 0, _RET_IP_); > ^~ > /local/tbogendoerfer/korg/linux/include/linux/spinlock_api_smp.h:111:2: error: implicit declaration of function ‘LOCK_CONTENDED’ [-Werror=implicit-function-declaration] > LOCK_CONTENDED(lock, do_raw_spin_trylock, do_raw_spin_lock); > ^~~~~~~~~~~~~~ > [...] > > I've cut the compiler output. Removing the asm-generic doesn't show this > problem, but so far I fail to see the reason... Thanks for trying this. Do you have the kernel config file, I can try to reproduce on my local machine. And by the way, it could be fixed with below patch, not very sure. Earlier, Arnd suggested this to fix a similar case. >From b3310e58c063b695ba7ab3966c57269f57f16585 Mon Sep 17 00:00:00 2001 From: Baoquan He <bhe@xxxxxxxxxx> Date: Tue, 14 Mar 2023 08:53:15 +0800 Subject: [PATCH] mips: use wmb() instead to replace iobarrier_w() Content-type: text/plain Otherwise nested including of asm/io.h and asm/mmiowb.h will cause compiling error. Signed-off-by: Baoquan He <bhe@xxxxxxxxxx> --- arch/mips/include/asm/mmiowb.h | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/arch/mips/include/asm/mmiowb.h b/arch/mips/include/asm/mmiowb.h index a40824e3ef8e..dd206792abed 100644 --- a/arch/mips/include/asm/mmiowb.h +++ b/arch/mips/include/asm/mmiowb.h @@ -2,9 +2,7 @@ #ifndef _ASM_MMIOWB_H #define _ASM_MMIOWB_H -#include <asm/io.h> - -#define mmiowb() iobarrier_w() +#define mmiowb() wmb() #include <asm-generic/mmiowb.h> -- 2.34.1