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

From: Florian Fainelli
Date: Tue Mar 14 2023 - 12:31:37 EST


On 3/14/23 08:34, Thomas Bogendoerfer wrote:
On Tue, Mar 14, 2023 at 10:56:36AM +0800, Baoquan He wrote:
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.

already tried it, but it doesn't fix the issue. I've attached the
config.

I had attempted a similar approach before as Baoquan did, but met the same build issue as Thomas that was not immediately clear to me why it popped up. I would be curious to see how this can be resolved.
--
Florian