[PATCH] inclusion of <asm/system.h> into spinlock.h breaks sparc

From: Andreas Beckmann
Date: Sat Dec 06 2003 - 17:57:35 EST


Hi,

the recent inclusion of <asm/system.h> into spinlock.h causes a cyclic inclusion under the sparc architecture. This breaks the build (at the beginning of make dep) in oplib.h because spinlock_t is not yet defined.

linux/spinlock.h
asm/system.h
asm/oplib.h
linux/spinlock.h
ERROR! (asm/oplib.h)

I was working with 2.4.23-bk3 and -bk4.

The change was introduced in the following changeset:
--------------------
ChangeSet 1.1192.4.2 2003/12/02 11:25:25 ralf@xxxxxxxxxxxxxx
[PATCH] Include <asm/system.h> into spinlock.h

<linux/spinlock.h> uses local_irq_save() etc. from <asm/spinlock.h> but
relies on this header file having been dragged in on some other way.
So if things are just right the build may blow up ...
include/linux/spinlock.h 1.9 2003/11/28 10:38:30 ralf@xxxxxxxxxxxxxx
Include <asm/system.h> into spinlock.h
--------------------

Not including asm/oplib.h from asm/system.h seems to fix this.
The patch drops this include.


Andreas

Please CC: me in your replies. --- linux-2.4.23/include/asm-sparc/system.h.orig 2003-11-28 19:26:21.000000000 +0100
+++ linux-2.4.23/include/asm-sparc/system.h 2003-12-06 05:49:05.000000000 +0100
@@ -10,7 +10,6 @@

#ifdef __KERNEL__
#include <asm/page.h>
-#include <asm/oplib.h>
#include <asm/psr.h>
#include <asm/ptrace.h>
#include <asm/btfixup.h>