Ingo Molnar | 408894e | 2006-01-09 15:59:20 -0800 | [diff] [blame] | 1 | #ifndef __LINUX_MUTEX_DEBUG_H |
2 | #define __LINUX_MUTEX_DEBUG_H | ||||
3 | |||||
David S. Miller | 8b4ad5e | 2006-01-09 21:38:23 -0800 | [diff] [blame] | 4 | #include <linux/linkage.h> |
Ingo Molnar | ef5d470 | 2006-07-03 00:24:55 -0700 | [diff] [blame] | 5 | #include <linux/lockdep.h> |
David S. Miller | 8b4ad5e | 2006-01-09 21:38:23 -0800 | [diff] [blame] | 6 | |
Ingo Molnar | 408894e | 2006-01-09 15:59:20 -0800 | [diff] [blame] | 7 | /* |
8 | * Mutexes - debugging helpers: | ||||
9 | */ | ||||
10 | |||||
Ingo Molnar | 9a11b49a | 2006-07-03 00:24:33 -0700 | [diff] [blame] | 11 | #define __DEBUG_MUTEX_INITIALIZER(lockname) \ |
12 | , .magic = &lockname | ||||
Ingo Molnar | 408894e | 2006-01-09 15:59:20 -0800 | [diff] [blame] | 13 | |
Ingo Molnar | ef5d470 | 2006-07-03 00:24:55 -0700 | [diff] [blame] | 14 | #define mutex_init(mutex) \ |
15 | do { \ | ||||
16 | static struct lock_class_key __key; \ | ||||
17 | \ | ||||
18 | __mutex_init((mutex), #mutex, &__key); \ | ||||
19 | } while (0) | ||||
Ingo Molnar | 408894e | 2006-01-09 15:59:20 -0800 | [diff] [blame] | 20 | |
Harvey Harrison | b3c9752 | 2008-02-13 15:03:15 -0800 | [diff] [blame] | 21 | extern void mutex_destroy(struct mutex *lock); |
Ingo Molnar | 408894e | 2006-01-09 15:59:20 -0800 | [diff] [blame] | 22 | |
Ingo Molnar | 408894e | 2006-01-09 15:59:20 -0800 | [diff] [blame] | 23 | #endif |