summaryrefslogtreecommitdiffstats
path: root/include/sound/core.h
diff options
context:
space:
mode:
authorTakashi Iwai <tiwai@suse.de>2008-11-07 09:37:22 +0100
committerTakashi Iwai <tiwai@suse.de>2008-11-07 09:37:22 +0100
commitf66fcedc84dd06d42a0dba3894d238498509e8b7 (patch)
treec5a87e8d493c8cbd82b39553601b7d701e55ff70 /include/sound/core.h
parent945eed02cd619f525e097319cd3d18c58d01da87 (diff)
downloadlinux-f66fcedc84dd06d42a0dba3894d238498509e8b7.tar.gz
linux-f66fcedc84dd06d42a0dba3894d238498509e8b7.tar.bz2
linux-f66fcedc84dd06d42a0dba3894d238498509e8b7.zip
ALSA: Document debug macros
Add descriptions of snd_BUG() and snd_BUG_ON(). Also fixed a typo in the comment of snd_printk(), too. Signed-off-by: Takashi Iwai <tiwai@suse.de>
Diffstat (limited to 'include/sound/core.h')
-rw-r--r--include/sound/core.h24
1 files changed, 23 insertions, 1 deletions
diff --git a/include/sound/core.h b/include/sound/core.h
index 6fa4c7b1970a..b2f3bbe9e56d 100644
--- a/include/sound/core.h
+++ b/include/sound/core.h
@@ -356,7 +356,7 @@ void snd_verbose_printd(const char *file, int line, const char *format, ...)
* snd_printk - printk wrapper
* @fmt: format string
*
- * Works like print() but prints the file and the line of the caller
+ * Works like printk() but prints the file and the line of the caller
* when configured with CONFIG_SND_VERBOSE_PRINTK.
*/
#define snd_printk(fmt, args...) \
@@ -383,7 +383,29 @@ void snd_verbose_printd(const char *file, int line, const char *format, ...)
printk(fmt ,##args)
#endif
+/**
+ * snd_BUG - give a BUG warning message and stack trace
+ *
+ * Calls WARN() if CONFIG_SND_DEBUG is set.
+ * Ignored when CONFIG_SND_DEBUG is not set.
+ */
#define snd_BUG() WARN(1, "BUG?\n")
+
+/**
+ * snd_BUG_ON - debugging check macro
+ * @cond: condition to evaluate
+ *
+ * When CONFIG_SND_DEBUG is set, this macro evaluates the given condition,
+ * and call WARN() and returns the value if it's non-zero.
+ *
+ * When CONFIG_SND_DEBUG is not set, this just returns zero, and the given
+ * condition is ignored.
+ *
+ * NOTE: the argument won't be evaluated at all when CONFIG_SND_DEBUG=n.
+ * Thus, don't put any statement that influences on the code behavior,
+ * such as pre/post increment, to the argument of this macro.
+ * If you want to evaluate and give a warning, use standard WARN_ON().
+ */
#define snd_BUG_ON(cond) WARN((cond), "BUG? (%s)\n", __stringify(cond))
#else /* !CONFIG_SND_DEBUG */