| /****************************************************************************** |
| * |
| * Copyright(c) 2009-2012 Realtek Corporation. |
| * |
| * This program is free software; you can redistribute it and/or modify it |
| * under the terms of version 2 of the GNU General Public License as |
| * published by the Free Software Foundation. |
| * |
| * This program is distributed in the hope that it will be useful, but WITHOUT |
| * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or |
| * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for |
| * more details. |
| * |
| * The full GNU General Public License is included in this distribution in the |
| * file called LICENSE. |
| * |
| * Contact Information: |
| * wlanfae <wlanfae@realtek.com> |
| * Realtek Corporation, No. 2, Innovation Road II, Hsinchu Science Park, |
| * Hsinchu 300, Taiwan. |
| * |
| * Larry Finger <Larry.Finger@lwfinger.net> |
| *****************************************************************************/ |
| |
| #include "wifi.h" |
| |
| #include <linux/moduleparam.h> |
| |
| #ifdef CONFIG_RTLWIFI_DEBUG |
| void _rtl_dbg_trace(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_trace); |
| |
| void _rtl_dbg_print(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("%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->cfg->mod_params->debug_mask) && |
| ((level) <= rtlpriv->cfg->mod_params->debug_level))) { |
| pr_info("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 |