Message ID | 1495154170-854693-2-git-send-email-babu.moger@oracle.com |
---|---|
State | Changes Requested |
Delegated to: | David Miller |
Headers | show |
From: Babu Moger <babu.moger@oracle.com> Date: Thu, 18 May 2017 18:36:05 -0600 > 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 <babu.moger@oracle.com> > Reviewed-by: Håkon Bugge <haakon.bugge@oracle.com> > Reviewed-by: Jane Chu <jane.chu@oracle.com> > Reviewed-by: Shannon Nelson <shannon.nelson@oracle.com> > Reviewed-by: Vijay Kumar <vijay.ac.kumar@oracle.com> 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. -- To unsubscribe from this list: send the line "unsubscribe sparclinux" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
On 5/18/2017 9:27 PM, David Miller wrote: > From: Babu Moger <babu.moger@oracle.com> > Date: Thu, 18 May 2017 18:36:05 -0600 > >> 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 <babu.moger@oracle.com> >> Reviewed-by: Håkon Bugge <haakon.bugge@oracle.com> >> Reviewed-by: Jane Chu <jane.chu@oracle.com> >> Reviewed-by: Shannon Nelson <shannon.nelson@oracle.com> >> Reviewed-by: Vijay Kumar <vijay.ac.kumar@oracle.com> > 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. -- To unsubscribe from this list: send the line "unsubscribe sparclinux" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
diff --git a/include/asm-generic/qrwlock_types.h b/include/asm-generic/qrwlock_types.h index 0abc6b6..3988c7d 100644 --- a/include/asm-generic/qrwlock_types.h +++ b/include/asm-generic/qrwlock_types.h @@ -1,9 +1,6 @@ #ifndef __ASM_GENERIC_QRWLOCK_TYPES_H #define __ASM_GENERIC_QRWLOCK_TYPES_H -#include <linux/types.h> -#include <asm/spinlock_types.h> - /* * The queue read/write lock data structure */ @@ -18,4 +15,7 @@ .wait_lock = __ARCH_SPIN_LOCK_UNLOCKED, \ } +#include <linux/types.h> +#include <linux/spinlock_types.h> + #endif /* __ASM_GENERIC_QRWLOCK_TYPES_H */ diff --git a/kernel/locking/qrwlock.c b/kernel/locking/qrwlock.c index cc3ed0c..2655f26 100644 --- a/kernel/locking/qrwlock.c +++ b/kernel/locking/qrwlock.c @@ -20,6 +20,7 @@ #include <linux/cpumask.h> #include <linux/percpu.h> #include <linux/hardirq.h> +#include <linux/spinlock.h> #include <asm/qrwlock.h> /*