On Mon, 2016-06-27 at 19:53 -0500, Larry Finger wrote: > On 06/25/2016 05:46 PM, Joe Perches wrote: > > > > This debugging macro can expand to a lot of code. > > Make it a function to reduce code size. > > > > (x86-64 defconfig w/ all rtlwifi drivers and allyesconfig) > > $ size drivers/net/wireless/realtek/rtlwifi/built-in.o* > > text data bss dec hex filename > > 900083 200499 1907 1102489 10d299 > > drivers/net/wireless/realtek/rtlwifi/built-in.o.defconfig.new > > 1113597 200499 1907 1316003 1414a3 > > drivers/net/wireless/realtek/rtlwifi/built-in.o.defconfig.old > > 1746879 453503 8512 2208894 21b47e > > drivers/net/wireless/realtek/rtlwifi/built-in.o.new > > 2051965 503311 8512 2563788 271ecc > > drivers/net/wireless/realtek/rtlwifi/built-in.o.old > > > > Signed-off-by: Joe Perches <j...@perches.com> > I acked this before; however there is a bug that breaks the build if > CONFIG_RTLWIFI_DEBUG is not defined. The rest of the code calls > _rtl_dbg_trace(), but that symbol is never defined. The problem can be fixed > in > debug.c or debug.h.
Confused a bit. What breaks again? debug.h: #ifdef CONFIG_RTLWIFI_DEBUG [] __printf(5, 6) void _rtl_dbg_trace(struct rtl_priv *rtlpriv, int comp, int level, const char *modname, const char *fmt, ...); #define RT_TRACE(rtlpriv, comp, level, fmt, ...) \ _rtl_dbg_trace(rtlpriv, comp, level, \ KBUILD_MODNAME, fmt, ##__VA_ARGS__) [] #else [] __printf(4, 5) static inline void RT_TRACE(struct rtl_priv *rtlpriv, int comp, int level, const char *fmt, ...) { } [] #endif