summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--drivers/media/dvb/siano/smscoreapi.c4
-rw-r--r--drivers/media/dvb/siano/smscoreapi.h20
2 files changed, 21 insertions, 3 deletions
diff --git a/drivers/media/dvb/siano/smscoreapi.c b/drivers/media/dvb/siano/smscoreapi.c
index 6e2cc3d57161..402ed03be424 100644
--- a/drivers/media/dvb/siano/smscoreapi.c
+++ b/drivers/media/dvb/siano/smscoreapi.c
@@ -33,6 +33,10 @@
#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)
diff --git a/drivers/media/dvb/siano/smscoreapi.h b/drivers/media/dvb/siano/smscoreapi.h
index ccc7e1012958..a21f01f71ba4 100644
--- a/drivers/media/dvb/siano/smscoreapi.h
+++ b/drivers/media/dvb/siano/smscoreapi.h
@@ -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__ */