2005-10-24 16:07:58

by Miklos Szeredi

[permalink] [raw]
Subject: [PATCH 2.6.14-rc5-mm1] fix inline spin_unlock for UP

The "inline spin_unlock..." patches don't compile on:

CONFIG_PREEMPT=n
CONFIG_DEBUG_SPINLOCK=n
CONFIG_SMP=n

Signed-off-by: Miklos Szeredi <[email protected]>

Index: linux/include/linux/spinlock.h
===================================================================
--- linux.orig/include/linux/spinlock.h 2005-10-24 13:00:29.000000000 +0200
+++ linux/include/linux/spinlock.h 2005-10-24 13:12:08.000000000 +0200
@@ -174,7 +174,7 @@ extern int __lockfunc generic__raw_read_
/*
* We inline the unlock functions in the nondebug case:
*/
-#if defined(CONFIG_DEBUG_SPINLOCK) || defined(CONFIG_PREEMPT)
+#if defined(CONFIG_DEBUG_SPINLOCK) || defined(CONFIG_PREEMPT) || !defined(CONFIG_SMP)
# define spin_unlock(lock) _spin_unlock(lock)
# define read_unlock(lock) _read_unlock(lock)
# define write_unlock(lock) _write_unlock(lock)
@@ -184,7 +184,7 @@ extern int __lockfunc generic__raw_read_
# define write_unlock(lock) __raw_write_unlock(&(lock)->raw_lock)
#endif

-#if defined(CONFIG_DEBUG_SPINLOCK) || defined(CONFIG_PREEMPT)
+#if defined(CONFIG_DEBUG_SPINLOCK) || defined(CONFIG_PREEMPT) || !defined(CONFIG_SMP)
# define spin_unlock_irq(lock) _spin_unlock_irq(lock)
# define read_unlock_irq(lock) _read_unlock_irq(lock)
# define write_unlock_irq(lock) _write_unlock_irq(lock)