aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux/printk.h
diff options
context:
space:
mode:
authorDan Streetman <ddstreet@ieee.org>2014-06-04 16:11:44 -0700
committerLinus Torvalds <torvalds@linux-foundation.org>2014-06-04 16:54:17 -0700
commit6e099f557d9c6797c3ee3ee7b5c8cebe543ec1cc (patch)
treee96a0d9a951dbc494543cf563345c2f6115222f2 /include/linux/printk.h
parenttimekeeping: use printk_deferred when holding timekeeping seqlock (diff)
downloadlinux-dev-6e099f557d9c6797c3ee3ee7b5c8cebe543ec1cc.tar.xz
linux-dev-6e099f557d9c6797c3ee3ee7b5c8cebe543ec1cc.zip
Documentation: expand/clarify debug documentation
The pr_debug() and related debug print macros all differ from the normal pr_XXX() macros, in that the normal ones print unconditionally, while the debug macros are compiled out unless DEBUG is defined or CONFIG_DYNAMIC_DEBUG is set. This isn't obvious, and the only way to find this out is either to review the actual printk.h code or to read CodingStyle, and the message there doesn't highlight the fact. Change Documentation/CodingStyle to clearly indicate that pr_debug() and related debug printing macros behave differently than all other pr_XXX() macros, and attempt to clarify when and where the different debug printing methods might be used. Add short comment to printk.h above the pr_XXX() macros indicating that while these macros print unconditionally, pr_debug() does not. Signed-off-by: Dan Streetman <ddstreet@ieee.org> Cc: Joe Perches <joe@perches.com> Cc: Fabian Frederick <fabf@skynet.be> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'include/linux/printk.h')
-rw-r--r--include/linux/printk.h6
1 files changed, 6 insertions, 0 deletions
diff --git a/include/linux/printk.h b/include/linux/printk.h
index f086d6c99dbc..37f3a6589c1c 100644
--- a/include/linux/printk.h
+++ b/include/linux/printk.h
@@ -210,6 +210,12 @@ extern asmlinkage void dump_stack(void) __cold;
#define pr_fmt(fmt) fmt
#endif
+/*
+ * These can be used to print at the various log levels.
+ * All of these will print unconditionally, although note that pr_debug()
+ * and other debug macros are compiled out unless either DEBUG is defined
+ * or CONFIG_DYNAMIC_DEBUG is set.
+ */
#define pr_emerg(fmt, ...) \
printk(KERN_EMERG pr_fmt(fmt), ##__VA_ARGS__)
#define pr_alert(fmt, ...) \