--- ./include/linux/spinlock.h-orig Sat Sep 18 16:19:14 2004 +++ ./include/linux/spinlock.h Sat Sep 18 16:20:51 2004 @@ -210,6 +210,10 @@ #define preempt_enable_no_resched() do {} while(0) #define preempt_enable() do { } while (0) +/* don't redefine those macros on non preempt-enabled SMP targets */ +#if !defined(CONFIG_SMP) || defined(__i386__) || defined(CONFIG_MIPS32) \ + || defined(CONFIG_MIPS64) || defined(__ppc__) + #define spin_lock(lock) _raw_spin_lock(lock) #define spin_trylock(lock) _raw_spin_trylock(lock) #define spin_unlock(lock) _raw_spin_unlock(lock) @@ -219,6 +223,8 @@ #define write_lock(lock) _raw_write_lock(lock) #define write_unlock(lock) _raw_write_unlock(lock) #define write_trylock(lock) _raw_write_trylock(lock) + +#endif /* prempt-enabled targets */ #endif /* "lock on reference count zero" */