diff options
Diffstat (limited to 'include/linux/lockdep.h')
| -rw-r--r-- | include/linux/lockdep.h | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/include/linux/lockdep.h b/include/linux/lockdep.h index da5a5a1f4cd2..b25d1b53df0d 100644 --- a/include/linux/lockdep.h +++ b/include/linux/lockdep.h | |||
| @@ -258,6 +258,16 @@ extern void lockdep_init_map(struct lockdep_map *lock, const char *name, | |||
| 258 | #define lockdep_set_subclass(lock, sub) \ | 258 | #define lockdep_set_subclass(lock, sub) \ |
| 259 | lockdep_init_map(&(lock)->dep_map, #lock, \ | 259 | lockdep_init_map(&(lock)->dep_map, #lock, \ |
| 260 | (lock)->dep_map.key, sub) | 260 | (lock)->dep_map.key, sub) |
| 261 | /* | ||
| 262 | * Compare locking classes | ||
| 263 | */ | ||
| 264 | #define lockdep_match_class(lock, key) lockdep_match_key(&(lock)->dep_map, key) | ||
| 265 | |||
| 266 | static inline int lockdep_match_key(struct lockdep_map *lock, | ||
| 267 | struct lock_class_key *key) | ||
| 268 | { | ||
| 269 | return lock->key == key; | ||
| 270 | } | ||
| 261 | 271 | ||
| 262 | /* | 272 | /* |
| 263 | * Acquire a lock. | 273 | * Acquire a lock. |
| @@ -326,6 +336,11 @@ static inline void lockdep_on(void) | |||
| 326 | #define lockdep_set_class_and_subclass(lock, key, sub) \ | 336 | #define lockdep_set_class_and_subclass(lock, key, sub) \ |
| 327 | do { (void)(key); } while (0) | 337 | do { (void)(key); } while (0) |
| 328 | #define lockdep_set_subclass(lock, sub) do { } while (0) | 338 | #define lockdep_set_subclass(lock, sub) do { } while (0) |
| 339 | /* | ||
| 340 | * We don't define lockdep_match_class() and lockdep_match_key() for !LOCKDEP | ||
| 341 | * case since the result is not well defined and the caller should rather | ||
| 342 | * #ifdef the call himself. | ||
| 343 | */ | ||
| 329 | 344 | ||
| 330 | # define INIT_LOCKDEP | 345 | # define INIT_LOCKDEP |
| 331 | # define lockdep_reset() do { debug_locks = 1; } while (0) | 346 | # define lockdep_reset() do { debug_locks = 1; } while (0) |
