net: rtlwifi: Remove in_interrupt() from debug macro
The usage of in_interrupt() in drivers in is phased out. rtl_dbg() a printk based debug aid is using in_interrupt() in the underlying C function _rtl_dbg_out() which is almost identical to _rtl_dbg_print(). The only difference is the printout of in_interrupt(). The decoding of in_interrupt() as hexvalue is non-trivial and aside of being phased out for driver usage the return value is just by chance the masked preempt count value and not a boolean. These home brewn printk debug aids are tedious to work with and provide only minimal context. They should be replaced by trace_printk() or a debug tracepoint which automatically records all context information. To make progress on the in_interrupt() cleanup, make rtl_dbg() use _rtl_dbg_print() and remove _rtl_dbg_out(). Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Acked-by: Kalle Valo <kvalo@codeaurora.org> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
Родитель
a3b7b227f1
Коммит
e741751bda
|
@ -8,26 +8,6 @@
|
|||
#include <linux/vmalloc.h>
|
||||
|
||||
#ifdef CONFIG_RTLWIFI_DEBUG
|
||||
void _rtl_dbg_out(struct rtl_priv *rtlpriv, u64 comp, int level,
|
||||
const char *fmt, ...)
|
||||
{
|
||||
if (unlikely((comp & rtlpriv->cfg->mod_params->debug_mask) &&
|
||||
level <= rtlpriv->cfg->mod_params->debug_level)) {
|
||||
struct va_format vaf;
|
||||
va_list args;
|
||||
|
||||
va_start(args, fmt);
|
||||
|
||||
vaf.fmt = fmt;
|
||||
vaf.va = &args;
|
||||
|
||||
pr_info(":<%lx> %pV", in_interrupt(), &vaf);
|
||||
|
||||
va_end(args);
|
||||
}
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(_rtl_dbg_out);
|
||||
|
||||
void _rtl_dbg_print(struct rtl_priv *rtlpriv, u64 comp, int level,
|
||||
const char *fmt, ...)
|
||||
{
|
||||
|
|
|
@ -148,10 +148,6 @@ enum dbgp_flag_e {
|
|||
|
||||
struct rtl_priv;
|
||||
|
||||
__printf(4, 5)
|
||||
void _rtl_dbg_out(struct rtl_priv *rtlpriv, u64 comp, int level,
|
||||
const char *fmt, ...);
|
||||
|
||||
__printf(4, 5)
|
||||
void _rtl_dbg_print(struct rtl_priv *rtlpriv, u64 comp, int level,
|
||||
const char *fmt, ...);
|
||||
|
@ -161,7 +157,7 @@ void _rtl_dbg_print_data(struct rtl_priv *rtlpriv, u64 comp, int level,
|
|||
const void *hexdata, int hexdatalen);
|
||||
|
||||
#define rtl_dbg(rtlpriv, comp, level, fmt, ...) \
|
||||
_rtl_dbg_out(rtlpriv, comp, level, \
|
||||
_rtl_dbg_print(rtlpriv, comp, level, \
|
||||
fmt, ##__VA_ARGS__)
|
||||
|
||||
#define RTPRINT(rtlpriv, dbgtype, dbgflag, fmt, ...) \
|
||||
|
|
Загрузка…
Ссылка в новой задаче