| Ingo Molnar | 620a6fd | 2006-01-09 15:59:17 -0800 | [diff] [blame] | 1 | /* | 
 | 2 |  * asm-generic/mutex-null.h | 
 | 3 |  * | 
 | 4 |  * Generic implementation of the mutex fastpath, based on NOP :-) | 
 | 5 |  * | 
 | 6 |  * This is used by the mutex-debugging infrastructure, but it can also | 
 | 7 |  * be used by architectures that (for whatever reason) want to use the | 
 | 8 |  * spinlock based slowpath. | 
 | 9 |  */ | 
 | 10 | #ifndef _ASM_GENERIC_MUTEX_NULL_H | 
 | 11 | #define _ASM_GENERIC_MUTEX_NULL_H | 
 | 12 |  | 
 | 13 | /* extra parameter only needed for mutex debugging: */ | 
 | 14 | #ifndef __IP__ | 
 | 15 | # define __IP__ | 
 | 16 | #endif | 
 | 17 |  | 
 | 18 | #define __mutex_fastpath_lock(count, fail_fn)	      fail_fn(count __RET_IP__) | 
 | 19 | #define __mutex_fastpath_lock_retval(count, fail_fn)  fail_fn(count __RET_IP__) | 
 | 20 | #define __mutex_fastpath_unlock(count, fail_fn)       fail_fn(count __RET_IP__) | 
 | 21 | #define __mutex_fastpath_trylock(count, fail_fn)      fail_fn(count) | 
 | 22 | #define __mutex_slowpath_needs_to_unlock()	      1 | 
 | 23 |  | 
 | 24 | #endif |