Re: [PATCH 1/6] kernel/locking: Fix compile error with qrwlock.c
From: Babu Moger <hidden>
Date: 2017-05-19 16:35:53
Also in:
lkml, sparclinux
On 5/18/2017 9:27 PM, David Miller wrote:
From: Babu Moger <redacted> Date: Thu, 18 May 2017 18:36:05 -0600quoted
Seeing this error on SPARC while compiling qrwlock.c. CC kernel/locking/qrwlock.o In file included from ./include/asm-generic/qrwlock_types.h:5, from ./arch/sparc/include/asm/qrwlock.h:4, from kernel/locking/qrwlock.c:24: ./arch/sparc/include/asm/spinlock_types.h:5:3: error: #error "please don't include this file directly" Re-arrange the includes in qrwlock_types.h and also include spinlock.h in qrwlock.c to fix it. This should also help other architectures when queued rwlock is enabled. Signed-off-by: Babu Moger <redacted> Reviewed-by: Håkon Bugge <redacted> Reviewed-by: Jane Chu <redacted> Reviewed-by: Shannon Nelson <redacted> Reviewed-by: Vijay Kumar <redacted>I think you can simply remove the: #ifndef __LINUX_SPINLOCK_TYPES_H # error "please don't include this file directly" #endif stanza from the sparc header file instead. Other architectures don't use this guard.
Sure. I can remove this for SPARC. Will make this as a separate patch. But, there are still some architectures use this gaurd. arch/xtensa/include/asm/spinlock_types.h:#ifndef __LINUX_SPINLOCK_TYPES_H arch/arm/include/asm/spinlock_types.h:#ifndef __LINUX_SPINLOCK_TYPES_H arch/powerpc/include/asm/spinlock_types.h:#ifndef __LINUX_SPINLOCK_TYPES_H arch/metag/include/asm/spinlock_types.h:#ifndef __LINUX_SPINLOCK_TYPES_H arch/hexagon/include/asm/spinlock_types.h:#ifndef __LINUX_SPINLOCK_TYPES_H arch/alpha/include/asm/spinlock_types.h:#ifndef __LINUX_SPINLOCK_TYPES_H arch/sh/include/asm/spinlock_types.h:#ifndef __LINUX_SPINLOCK_TYPES_H arch/mn10300/include/asm/spinlock_types.h:#ifndef __LINUX_SPINLOCK_TYPES_H arch/ia64/include/asm/spinlock_types.h:#ifndef __LINUX_SPINLOCK_TYPES_H arch/blackfin/include/asm/spinlock_types.h:#ifndef __LINUX_SPINLOCK_TYPES_H arch/m32r/include/asm/spinlock_types.h:#ifndef __LINUX_SPINLOCK_TYPES_H arch/s390/include/asm/spinlock_types.h:#ifndef __LINUX_SPINLOCK_TYPES_H arch/arm64/include/asm/spinlock_types.h:#if !defined(__LINUX_SPINLOCK_TYPES_H) && !defined(__ASM_SPINLOCK_H) arch/tile/include/asm/spinlock_types.h:#ifndef __LINUX_SPINLOCK_TYPES_H arch/mips/include/asm/spinlock_types.h:#ifndef __LINUX_SPINLOCK_TYPES_H I think we need still need this patch as it re-arrages headers properly. Will send v2 series soon.