rtlwifi: Redo debugging macros RTPRINT and RT_PRINT_DATA
authorLarry Finger <Larry.Finger@lwfinger.net>
Thu, 19 Jan 2017 17:25:19 +0000 (11:25 -0600)
committerKalle Valo <kvalo@codeaurora.org>
Fri, 20 Jan 2017 10:05:16 +0000 (12:05 +0200)
These two debugging formss implement debugging using rather complicated
macro constructions. These are replaced with compiled code that is easier
to understand.

Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net>
Cc: Ping-Ke Shih <pkshih@realtek.com>
Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
drivers/net/wireless/realtek/rtlwifi/debug.c
drivers/net/wireless/realtek/rtlwifi/debug.h

index 33905bb..cd2efac 100644 (file)
@@ -51,7 +51,7 @@ EXPORT_SYMBOL_GPL(rtl_dbgp_flag_init);
 
 #ifdef CONFIG_RTLWIFI_DEBUG
 void _rtl_dbg_trace(struct rtl_priv *rtlpriv, int comp, int level,
-                   const char *modname, const char *fmt, ...)
+                   const char *fmt, ...)
 {
        if (unlikely((comp & rtlpriv->dbg.global_debugcomponents) &&
                     (level <= rtlpriv->dbg.global_debuglevel))) {
@@ -63,13 +63,45 @@ void _rtl_dbg_trace(struct rtl_priv *rtlpriv, int comp, int level,
                vaf.fmt = fmt;
                vaf.va = &args;
 
-               printk(KERN_DEBUG "%s:%ps:<%lx-%x> %pV",
-                      modname, __builtin_return_address(0),
-                      in_interrupt(), in_atomic(),
-                      &vaf);
+               pr_debug(":<%lx> %pV", in_interrupt(), &vaf);
 
                va_end(args);
        }
 }
 EXPORT_SYMBOL_GPL(_rtl_dbg_trace);
+
+void _rtl_dbg_print(struct rtl_priv *rtlpriv, u64 comp, int level,
+                   const char *fmt, ...)
+{
+       if (unlikely((comp & rtlpriv->dbg.global_debugcomponents) &&
+                    (level <= rtlpriv->dbg.global_debuglevel))) {
+               struct va_format vaf;
+               va_list args;
+
+               va_start(args, fmt);
+
+               vaf.fmt = fmt;
+               vaf.va = &args;
+
+               pr_debug("%pV", &vaf);
+
+               va_end(args);
+       }
+}
+EXPORT_SYMBOL_GPL(_rtl_dbg_print);
+
+void _rtl_dbg_print_data(struct rtl_priv *rtlpriv, u64 comp, int level,
+                        const char *titlestring,
+                        const void *hexdata, int hexdatalen)
+{
+       if (unlikely(((comp) & rtlpriv->dbg.global_debugcomponents) &&
+                    ((level) <= rtlpriv->dbg.global_debuglevel))) {
+               pr_debug("In process \"%s\" (pid %i): %s\n",
+                        current->comm, current->pid, titlestring);
+               print_hex_dump_bytes("", DUMP_PREFIX_NONE,
+                                    hexdata, hexdatalen);
+       }
+}
+EXPORT_SYMBOL_GPL(_rtl_dbg_print_data);
+
 #endif
index a6cc3ca..90c670b 100644 (file)
@@ -168,34 +168,29 @@ enum dbgp_flag_e {
 
 struct rtl_priv;
 
-__printf(5, 6)
+__printf(4, 5)
 void _rtl_dbg_trace(struct rtl_priv *rtlpriv, int comp, int level,
-                   const char *modname, const char *fmt, ...);
+                   const char *fmt, ...);
+
+__printf(4, 5)
+void _rtl_dbg_print(struct rtl_priv *rtlpriv, u64 comp, int level,
+                   const char *fmt, ...);
+
+void _rtl_dbg_print_data(struct rtl_priv *rtlpriv, u64 comp, int level,
+                        const char *titlestring,
+                        const void *hexdata, int hexdatalen);
 
 #define RT_TRACE(rtlpriv, comp, level, fmt, ...)                       \
        _rtl_dbg_trace(rtlpriv, comp, level,                            \
-                      KBUILD_MODNAME, fmt, ##__VA_ARGS__)
+                      fmt, ##__VA_ARGS__)
 
 #define RTPRINT(rtlpriv, dbgtype, dbgflag, fmt, ...)                   \
-do {                                                                   \
-       if (unlikely(rtlpriv->dbg.dbgp_type[dbgtype] & dbgflag)) {      \
-               printk(KERN_DEBUG KBUILD_MODNAME ": " fmt,              \
-                      ##__VA_ARGS__);                                  \
-       }                                                               \
-} while (0)
+       _rtl_dbg_print(rtlpriv, dbgtype, dbgflag, fmt, ##__VA_ARGS__)
 
 #define RT_PRINT_DATA(rtlpriv, _comp, _level, _titlestring, _hexdata,  \
                      _hexdatalen)                                      \
-do {                                                                   \
-       if (unlikely(((_comp) & rtlpriv->dbg.global_debugcomponents) && \
-                    (_level <= rtlpriv->dbg.global_debuglevel))) {     \
-               printk(KERN_DEBUG "%s: In process \"%s\" (pid %i): %s\n", \
-                      KBUILD_MODNAME, current->comm, current->pid,     \
-                      _titlestring);                                   \
-               print_hex_dump_bytes("", DUMP_PREFIX_NONE,              \
-                                    _hexdata, _hexdatalen);            \
-       }                                                               \
-} while (0)
+       _rtl_dbg_print_data(rtlpriv, _comp, _level,                     \
+                           _titlestring, _hexdata, _hexdatalen)
 
 #else