diff options
author | Joe Perches <joe@perches.com> | 2015-03-25 19:54:25 (GMT) |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2015-03-26 12:16:19 (GMT) |
commit | 031366ea65495f787eb792a135f51c093d75a197 (patch) | |
tree | 21b523d33f37b7d66cfcf798cb3ba43be8e1cc61 /drivers/staging/rts5208/trace.c | |
parent | da3c8deef6b392cfe9d19645de2fec9fc2005522 (diff) | |
download | linux-031366ea65495f787eb792a135f51c093d75a197.tar.xz |
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.c | 26 |
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 |