spinlock: macroize assert_spin_locked to avoid bug.h dependency
Paul Gortmaker [Fri, 20 Jan 2012 23:20:37 +0000 (18:20 -0500)]
In spinlock_api_smp.h we find a define for assert_raw_spin_locked
[which uses BUG_ON].   Then assert_spin_locked (as an inline) uses
it, meaning we need bug.h  But rather than put linux/bug.h in such
a highly used file like spinlock.h, we can just make the un-raw
version also a macro.  Then the required bug.h presence is limited
just to those few files who are actually doing the assert testing.

Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>
CC: Thomas Gleixner <tglx@linutronix.de>

include/linux/spinlock.h

index 7df6c17..3632390 100644 (file)
@@ -375,10 +375,7 @@ static inline int spin_can_lock(spinlock_t *lock)
        return raw_spin_can_lock(&lock->rlock);
 }
 
-static inline void assert_spin_locked(spinlock_t *lock)
-{
-       assert_raw_spin_locked(&lock->rlock);
-}
+#define assert_spin_locked(lock)       assert_raw_spin_locked(&(lock)->rlock)
 
 /*
  * Pull the atomic_t declaration: