summaryrefslogtreecommitdiffstats
path: root/drivers/staging/rts5208/trace.c
diff options
context:
space:
mode:
authorJoe Perches <joe@perches.com>2015-03-25 12:54:25 -0700
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2015-03-26 13:16:19 +0100
commit031366ea65495f787eb792a135f51c093d75a197 (patch)
tree21b523d33f37b7d66cfcf798cb3ba43be8e1cc61 /drivers/staging/rts5208/trace.c
parentda3c8deef6b392cfe9d19645de2fec9fc2005522 (diff)
downloadop-kernel-dev-031366ea65495f787eb792a135f51c093d75a197.zip
op-kernel-dev-031366ea65495f787eb792a135f51c093d75a197.tar.gz
staging: rts5208: Remove TRACE_RET and TRACE_GOTO macros
Remove these flow hiding macros. Miscellanea: o Add a macro and function to replace a large inline o Simplify #includes o Add trace.c and update Makefile o Remove static inline filename function and use kbasename instead This reduces object size quite a lot: ~350KB (x86-64 allyesconfig) $ size drivers/staging/rts5208/built-in.o* text data bss dec hex filename 248385 36728 77888 363001 589f9 drivers/staging/rts5208/built-in.o.new 506691 83352 115896 705939 ac593 drivers/staging/rts5208/built-in.o.old Done via coccinelle script and some typing. @@ expression chip; expression ret; @@ - TRACE_RET(chip, ret); + rtsx_trace(chip); + return ret; @@ expression chip; identifier label; @@ - TRACE_GOTO(chip, label); + rtsx_trace(chip); + goto label; Signed-off-by: Joe Perches <joe@perches.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers/staging/rts5208/trace.c')
-rw-r--r--drivers/staging/rts5208/trace.c26
1 files changed, 26 insertions, 0 deletions
diff --git a/drivers/staging/rts5208/trace.c b/drivers/staging/rts5208/trace.c
new file mode 100644
index 0000000..1bddbdf
--- /dev/null
+++ b/drivers/staging/rts5208/trace.c
@@ -0,0 +1,26 @@
+#include <linux/kernel.h>
+#include <linux/string.h>
+
+#include "rtsx.h"
+
+#ifdef _MSG_TRACE
+
+void _rtsx_trace(struct rtsx_chip *chip, const char *file, const char *func,
+ int line)
+{
+ struct trace_msg_t *msg = &chip->trace_msg[chip->msg_idx];
+
+ file = kbasename(file);
+ dev_dbg(rtsx_dev(chip), "[%s][%s]:[%d]\n", file, func, line);
+
+ strncpy(msg->file, file, MSG_FILE_LEN - 1);
+ strncpy(msg->func, func, MSG_FUNC_LEN - 1);
+ msg->line = (u16)line;
+ get_current_time(msg->timeval_buf, TIME_VAL_LEN);
+ msg->valid = 1;
+
+ chip->msg_idx++;
+ if (chip->msg_idx >= TRACE_ITEM_CNT)
+ chip->msg_idx = 0;
+}
+#endif
OpenPOWER on IntegriCloud