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

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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




[Index of Archives]     [LKML Archive]     [Linux ARM Kernel]     [Linux ARM]     [Git]     [Yosemite News]     [Linux SCSI]     [Linux Hams]

  Powered by Linux