lockdep: generate usage strings
Peter Zijlstra [Thu, 22 Jan 2009 13:51:01 +0000 (14:51 +0100)]
generate the usage strings

XXX capital invasion :-(

Signed-off-by: Peter Zijlstra <a.p.zijlstra@chello.nl>
Signed-off-by: Ingo Molnar <mingo@elte.hu>

kernel/lockdep.c

index e68bd7d..d31f7f8 100644 (file)
@@ -445,21 +445,21 @@ atomic_t nr_find_usage_backwards_recursions;
  * Locking printouts:
  */
 
+#define __STR(foo)     #foo
+#define STR(foo)       __STR(foo)
+
+#define __USAGE(__STATE)                                               \
+       [LOCK_USED_IN_##__STATE] = "IN-"STR(__STATE)"-W",               \
+       [LOCK_ENABLED_##__STATE] = STR(__STATE)"-ON-W",                 \
+       [LOCK_USED_IN_##__STATE##_READ] = "IN-"STR(__STATE)"-R",        \
+       [LOCK_ENABLED_##__STATE##_READ] = STR(__STATE)"-ON-R",
+
 static const char *usage_str[] =
 {
-       [LOCK_USED] =                   "initial-use ",
-       [LOCK_USED_IN_HARDIRQ] =        "in-hardirq-W",
-       [LOCK_USED_IN_SOFTIRQ] =        "in-softirq-W",
-       [LOCK_ENABLED_SOFTIRQ] =        "softirq-on-W",
-       [LOCK_ENABLED_HARDIRQ] =        "hardirq-on-W",
-       [LOCK_USED_IN_HARDIRQ_READ] =   "in-hardirq-R",
-       [LOCK_USED_IN_SOFTIRQ_READ] =   "in-softirq-R",
-       [LOCK_ENABLED_SOFTIRQ_READ] =   "softirq-on-R",
-       [LOCK_ENABLED_HARDIRQ_READ] =   "hardirq-on-R",
-       [LOCK_USED_IN_RECLAIM_FS] =     "in-reclaim-W",
-       [LOCK_USED_IN_RECLAIM_FS_READ] = "in-reclaim-R",
-       [LOCK_ENABLED_RECLAIM_FS] =     "ov-reclaim-W",
-       [LOCK_ENABLED_RECLAIM_FS_READ] = "ov-reclaim-R",
+#define LOCKDEP_STATE(__STATE) __USAGE(__STATE)
+#include "lockdep_states.h"
+#undef LOCKDEP_STATE
+       [LOCK_USED] = "INITIAL USE",
 };
 
 const char * __get_key_name(struct lockdep_subclass_key *key, char *str)