The custom filename function mostly repeats the kernel's kbasename. This patch simplifies it. The updated filename() will not check for the '\' in the filenames. It seems redundant in Linux. The __FILE__ macro always defined if we compile an existing file. Thus, NULL check is not needed there as well. Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Cc: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> --- drivers/staging/rts5139/trace.h | 24 ++++-------------------- 1 file changed, 4 insertions(+), 20 deletions(-) diff --git a/drivers/staging/rts5139/trace.h b/drivers/staging/rts5139/trace.h index c9dfb1e..ac58b45 100644 --- a/drivers/staging/rts5139/trace.h +++ b/drivers/staging/rts5139/trace.h @@ -27,32 +27,16 @@ #ifndef __RTS51X_TRACE_H #define __RTS51X_TRACE_H +#include <linux/string.h> + #include "debug.h" #define _MSG_TRACE #ifdef _MSG_TRACE -static inline char *filename(char *path) -{ - char *ptr; - - if (path == NULL) - return NULL; - - ptr = path; - - while (*ptr != '\0') { - if ((*ptr == '\\') || (*ptr == '/')) - path = ptr + 1; - ptr++; - } - - return path; -} - #define TRACE_RET(chip, ret) \ do { \ - char *_file = filename((char *)__FILE__); \ + const char *_file = kbasename(__FILE__); \ RTS51X_DEBUGP("[%s][%s]:[%d]\n", _file, __func__, __LINE__); \ (chip)->trace_msg[(chip)->msg_idx].line = (u16)(__LINE__); \ strncpy((chip)->trace_msg[(chip)->msg_idx].func, \ @@ -71,7 +55,7 @@ do { \ #define TRACE_GOTO(chip, label) \ do { \ - char *_file = filename((char *)__FILE__); \ + const char *_file = kbasename(__FILE__); \ RTS51X_DEBUGP("[%s][%s]:[%d]\n", _file, __func__, __LINE__); \ (chip)->trace_msg[(chip)->msg_idx].line = (u16)(__LINE__); \ strncpy((chip)->trace_msg[(chip)->msg_idx].func, \ -- 1.8.2.rc0.22.gb3600c3 _______________________________________________ devel mailing list devel@xxxxxxxxxxxxxxxxxxxxxx http://driverdev.linuxdriverproject.org/mailman/listinfo/devel