public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH] thinkpad_acpi: Remove side effects from vdbg_printk -> no_printk macro
@ 2015-08-26 18:13 Joe Perches
  2015-08-26 18:27 ` Henrique de Moraes Holschuh
  2015-08-27 17:33 ` Henrique de Moraes Holschuh
  0 siblings, 2 replies; 6+ messages in thread
From: Joe Perches @ 2015-08-26 18:13 UTC (permalink / raw)
  To: Henrique de Moraes Holschuh
  Cc: Darren Hart, ibm-acpi-devel, platform-driver-x86, linux-kernel

vdbg_printk when not using CONFIG_THINKPAD_ACPI_DEBUG uses
no_printk which produces no logging output but always
evaluates arguments.

Change the macro to surround the no_printk call with
	do { if (0) no_printk(...); } while (0)
to avoid the unnecessary argument evaluations.

$ size drivers/platform/x86/thinkpad_acpi.o*
   text	   data	    bss	    dec	    hex	filename
  60918	   6184	    824	  67926	  10956	drivers/platform/x86/thinkpad_acpi.o.new
  60927	   6184	    824	  67935	  1095f	drivers/platform/x86/thinkpad_acpi.o.old

Signed-off-by: Joe Perches <joe@perches.com>
---
 drivers/platform/x86/thinkpad_acpi.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/platform/x86/thinkpad_acpi.c b/drivers/platform/x86/thinkpad_acpi.c
index 33e488c..131dd74 100644
--- a/drivers/platform/x86/thinkpad_acpi.c
+++ b/drivers/platform/x86/thinkpad_acpi.c
@@ -402,7 +402,7 @@ static const char *str_supported(int is_supported);
 #else
 static inline const char *str_supported(int is_supported) { return ""; }
 #define vdbg_printk(a_dbg_level, format, arg...)	\
-	no_printk(format, ##arg)
+	do { if (0) no_printk(format, ##arg); } while (0)
 #endif
 
 static void tpacpi_log_usertask(const char * const what)



^ permalink raw reply related	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2015-08-28 17:51 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-08-26 18:13 [PATCH] thinkpad_acpi: Remove side effects from vdbg_printk -> no_printk macro Joe Perches
2015-08-26 18:27 ` Henrique de Moraes Holschuh
2015-08-26 18:35   ` Joe Perches
2015-08-27 17:32     ` Henrique de Moraes Holschuh
2015-08-27 17:33 ` Henrique de Moraes Holschuh
2015-08-28 17:50   ` Darren Hart

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox