Re: [PATCH 2/7] rtlwifi: Standardize RT_PRINT_DATA macro and uses

From: Joe Perches
Date: Thu Jan 05 2012 - 11:29:11 EST


On Thu, 2012-01-05 at 12:43 +0100, Stanislaw Gruszka wrote:
> Hi Joe

Morning Stanislaw.

> On Wed, Jan 04, 2012 at 07:40:40PM -0800, Joe Perches wrote:
> > RT_PRINT_DATA(rtlpriv, COMP_CMD, DBG_DMESG,
>
> Since you are working on it, can you also get rid of this DBG_*
> parameter, if rtlwifi maintainers are ok with that? It is additional
> console loglvevel, standard kernel loglevel should be used.

Not quite, all of the RT_PRINT_DATA are emitted at KERN_DEBUG.
These DBG_*s are just a normal debug verbosity level.

It does seem odd though to have a DBG_EMERG and not always
emit it.

What might also be useful for any embedded use is to add
CONFIG_RTLWIFI_DEBUG to conditionally remove all of the
debug logging code to reduce the largish object size.

This reduces the object size by about 1/3 (250KB)
when CONFIG_RTLWIFI_DEBUG is not set.

$ size drivers/net/wireless/rtlwifi/built-in.o*
text data bss dec hex filename
368722 55333 94224 518279 7e887 drivers/net/wireless/rtlwifi/built-in.o.new
586904 55333 127216 769453 bbdad drivers/net/wireless/rtlwifi/built-in.o.old

Signed-off-by: Joe Perches <joe@xxxxxxxxxxx>

---

drivers/net/wireless/rtlwifi/Kconfig | 5 +++++
drivers/net/wireless/rtlwifi/debug.h | 34 ++++++++++++++++++++++++++++++++++
2 files changed, 39 insertions(+), 0 deletions(-)

diff --git a/drivers/net/wireless/rtlwifi/Kconfig b/drivers/net/wireless/rtlwifi/Kconfig
index d6c42e6..44b9c0a 100644
--- a/drivers/net/wireless/rtlwifi/Kconfig
+++ b/drivers/net/wireless/rtlwifi/Kconfig
@@ -49,6 +49,11 @@ config RTLWIFI
depends on RTL8192CE || RTL8192CU || RTL8192SE || RTL8192DE
default m

+config RTLWIFI_DEBUG
+ tristate "Additional debugging output"
+ depends on RTL8192CE || RTL8192CU || RTL8192SE || RTL8192DE
+ default y
+
config RTL8192C_COMMON
tristate
depends on RTL8192CE || RTL8192CU
diff --git a/drivers/net/wireless/rtlwifi/debug.h b/drivers/net/wireless/rtlwifi/debug.h
index b024c23..fd5600c 100644
--- a/drivers/net/wireless/rtlwifi/debug.h
+++ b/drivers/net/wireless/rtlwifi/debug.h
@@ -156,6 +156,8 @@ enum dbgp_flag_e {
DBGP_TYPE_MAX
};

+#ifdef CONFIG_RTLWIFI_DEBUG
+
#define RT_ASSERT(_exp, fmt, ...) \
do { \
if (!(_exp)) { \
@@ -195,5 +197,37 @@ do { \
} \
} while (0)

+#else
+
+struct rtl_priv;
+
+__printf(2, 3)
+static inline void RT_ASSERT(int exp, const char *fmt, ...)
+{
+}
+
+__printf(4, 5)
+static inline void RT_TRACE(struct rtl_priv *rtlpriv,
+ int comp, int level,
+ const char *fmt, ...)
+{
+}
+
+__printf(4, 5)
+static inline void RTPRINT(struct rtl_priv *rtlpriv,
+ int dbgtype, int dbgflag,
+ const char *fmt, ...)
+{
+}
+
+static inline void RT_PRINT_DATA(struct rtl_priv *rtlpriv,
+ int comp, int level,
+ const char *titlestring,
+ const void *hexdata, size_t hexdatalen)
+{
+}
+
+#endif
+
void rtl_dbgp_flag_init(struct ieee80211_hw *hw);
#endif



--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/