Re: [PATCH v4 2/4] mips: add <asm-generic/io.h> including

From: Baoquan He
Date: Mon Mar 13 2023 - 22:57:56 EST


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.