lkml.org 
[lkml]   [2023]   [Mar]   [13]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
Date
From
SubjectRe: [PATCH v4 2/4] mips: add <asm-generic/io.h> including
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@redhat.com>
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@redhat.com>
---
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
\
 
 \ /
  Last update: 2023-03-27 00:57    [W:0.085 / U:1.356 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site