V4L/DVB (8295): sms1xxx: add debug module option, to enable debug messages
authorMichael Krufky <mkrufky@linuxtv.org>
Thu, 19 Jun 2008 23:59:08 +0000 (20:59 -0300)
committerMauro Carvalho Chehab <mchehab@infradead.org>
Sun, 20 Jul 2008 10:22:42 +0000 (07:22 -0300)
All dmesg spam turned off by default, for now.  Values for debug:

(info=1, adv=2 (or-able)

Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
drivers/media/dvb/siano/smscoreapi.c
drivers/media/dvb/siano/smscoreapi.h

index 6e2cc3d571617fd19d786728342d7a5fb1dd60c2..402ed03be424c1962cd576c36ec2b659a4a86346 100644 (file)
 
 #include "smscoreapi.h"
 
+int sms_debug;
+module_param_named(debug, sms_debug, int, 0644);
+MODULE_PARM_DESC(debug, "set debug level (info=1, adv=2 (or-able))");
+
 #define PERROR(fmt, args...)\
        sms_err("smscore error: line %d- %s(): " fmt, \
                __LINE__,  __func__, ## args)
index ccc7e10129580c0b57f7861159b8c7addb59c14e..a21f01f71ba4de36c2fac1a5a6a54e039a9c7408 100644 (file)
@@ -414,12 +414,26 @@ void smsdvb_unregister(void);
 int smsusb_register(void);
 void smsusb_unregister(void);
 
+/* ------------------------------------------------------------------------ */
+
+extern int sms_debug;
+
+#define DBG_INFO 1
+#define DBG_ADV  2
+
+#define sms_printk(kern, fmt, arg...) \
+       printk(kern "%s: " fmt "\n", __func__, ##arg)
+
+#define dprintk(kern, lvl, fmt, arg...) do {\
+       if (sms_debug & lvl) \
+               sms_printk(kern, fmt, ##arg); } while (0)
+
 #define sms_err(fmt, arg...) \
-       printk(KERN_ERR "%s " fmt "\n", __func__, ##arg)
+       sms_printk(KERN_ERR, "%s " fmt "\n", __func__, ##arg)
 #define sms_info(fmt, arg...) \
-       printk(KERN_INFO "%s " fmt "\n", __func__, ##arg)
+       dprintk(KERN_INFO, DBG_INFO, fmt, ##arg)
 #define sms_debug(fmt, arg...) \
-       printk(KERN_DEBUG "%s " fmt "\n", __func__, ##arg)
+       dprintk(KERN_DEBUG, DBG_ADV, fmt, ##arg)
 
 
 #endif /* __smscoreapi_h__ */