On Sat, 2010-06-12 at 22:07 -0700, Joe Perches wrote:
> 2: Create some comedi logging functions or macros like:
>       comedi_<level>(fmt, arg...) (ie: comedi_info, comedi_err, etc)
>    where "comedi:" is always prefixed and an
>    optional #define pr_fmt(fmt) KBUILD_MODNAME ": " fmt
>    could be used.

Maybe this is a start:

Signed-off-by: Joe Perches <[email protected]>
---
 drivers/staging/comedi/comedidev.h |   54 ++++++++++++++++++++++++++++++++++--
 1 files changed, 51 insertions(+), 3 deletions(-)

diff --git a/drivers/staging/comedi/comedidev.h 
b/drivers/staging/comedi/comedidev.h
index 4eb2b77..6c2bdde 100644
--- a/drivers/staging/comedi/comedidev.h
+++ b/drivers/staging/comedi/comedidev.h
@@ -43,11 +43,59 @@
 
 #include "comedi.h"
 
-#define DPRINTK(format, args...)       do {            \
-       if (comedi_debug)                               \
-               printk(KERN_DEBUG "comedi: " format , ## args); \
+#define comedi_printk(level, fmt, args...)                     \
+       printk(level "comedi: " pr_fmt(fmt), ##args)
+
+#define DPRINTK(format, args...)                               \
+do {                                                           \
+       if (comedi_debug)                                       \
+               comedi_printk(KERN_DEBUG, fmt, ##args);         \
 } while (0)
 
+#define comedi_emerg(fmt, ...)                         \
+       comedi_printk(KERN_EMERG, fmt, ##__VA_ARGS__)
+#define comedi_alert(fmt, ...)                         \
+       comedi_printk(KERN_ALERT, fmt, ##__VA_ARGS__)
+#define comedi_crit(fmt, ...)                          \
+       comedi_printk(KERN_CRIT, fmt, ##__VA_ARGS__)
+#define comedi_err(fmt, ...)                           \
+       comedi_printk(KERN_ERR, fmt, ##__VA_ARGS__)
+#define comedi_warn(fmt, ...)                          \
+       comedi_printk(KERN_WARNING, fmt, ##__VA_ARGS__)
+#define comedi_notice(fmt, ...)                                \
+       comedi_printk(KERN_NOTICE, fmt, ##__VA_ARGS__)
+#define comedi_info(fmt, ...)                          \
+       comedi_printk(KERN_INFO, fmt, ##__VA_ARGS__)
+
+/* comedi_devel() should produce zero code unless DEBUG is defined */
+#ifdef DEBUG
+#define comedi_devel(fmt, ...)                         \
+       comedi_printk(KERN_DEBUG, fmt, ##__VA_ARGS__)
+#else
+#define comedi_devel(fmt, ...)                                 \
+({                                                             \
+       if (0)                                                  \
+               comedi_printk(KERN_DEBUG, fmt, ##__VA_ARGS__);  \
+       0;                                                      \
+})
+#endif
+
+#if defined(DEBUG)
+#define comedi_debug(fmt, ...)                         \
+       comedi_printk(KERN_DEBUG, fmt, ##__VA_ARGS__)
+#elif defined(CONFIG_DYNAMIC_DEBUG)
+/* dynamic_pr_debug() uses pr_fmt() internally so we don't need it here */
+#define comedi_debug(fmt, ...)                         \
+       dynamic_pr_debug(fmt, ##__VA_ARGS__)
+#else
+#define comedi_debug(fmt, ...)                                 \
+({                                                             \
+       if (0)                                                  \
+               comedi_printk(KERN_DEBUG, fmt, ##__VA_ARGS__);  \
+       0;                                                      \
+})
+#endif
+
 #define COMEDI_VERSION(a, b, c) (((a) << 16) + ((b) << 8) + (c))
 #define COMEDI_VERSION_CODE COMEDI_VERSION(COMEDI_MAJORVERSION, \
        COMEDI_MINORVERSION, COMEDI_MICROVERSION)


_______________________________________________
devel mailing list
[email protected]
http://driverdev.linuxdriverproject.org/mailman/listinfo/devel

Reply via email to