mirror of
https://github.com/CTCaer/switch-l4t-atf.git
synced 2025-02-20 18:40:54 +00:00
feat(common/debug): add new macro ERROR_NL() to print just a newline
Existing macro ERROR() prints string "ERROR" followed by string specified by caller. Therefore via this existing macro it is not possible to end incomplete / existing line by a newline character. This change adds a new macro ERROR_NL() which prints just a newline character without any prefix. Implementation of this macro is done via a new function tf_log_newline() which based on supplied log level either return or print newline character. If needed in future based on this tf_log_newline() function can be defined also macros for other log levels. Signed-off-by: Pali Rohár <pali@kernel.org> Change-Id: I05414ca177f94cdc0f6077394d9c4af4a4382306
This commit is contained in:
parent
e2a16044ad
commit
fd1360a339
@ -49,6 +49,20 @@ void tf_log(const char *fmt, ...)
|
||||
va_end(args);
|
||||
}
|
||||
|
||||
void tf_log_newline(const char log_fmt[2])
|
||||
{
|
||||
unsigned int log_level = log_fmt[0];
|
||||
|
||||
/* Verify that log_level is one of LOG_MARKER_* macro defined in debug.h */
|
||||
assert((log_level > 0U) && (log_level <= LOG_LEVEL_VERBOSE));
|
||||
assert((log_level % 10U) == 0U);
|
||||
|
||||
if (log_level > max_log_level)
|
||||
return;
|
||||
|
||||
putchar('\n');
|
||||
}
|
||||
|
||||
/*
|
||||
* The helper function to set the log level dynamically by platform. The
|
||||
* maximum log level is determined by `LOG_LEVEL` build flag at compile time
|
||||
|
@ -61,8 +61,10 @@
|
||||
|
||||
#if LOG_LEVEL >= LOG_LEVEL_ERROR
|
||||
# define ERROR(...) tf_log(LOG_MARKER_ERROR __VA_ARGS__)
|
||||
# define ERROR_NL() tf_log_newline(LOG_MARKER_ERROR)
|
||||
#else
|
||||
# define ERROR(...) no_tf_log(LOG_MARKER_ERROR __VA_ARGS__)
|
||||
# define ERROR_NL()
|
||||
#endif
|
||||
|
||||
#if LOG_LEVEL >= LOG_LEVEL_NOTICE
|
||||
@ -109,6 +111,7 @@ void __dead2 do_panic(void);
|
||||
void __dead2 __stack_chk_fail(void);
|
||||
|
||||
void tf_log(const char *fmt, ...) __printflike(1, 2);
|
||||
void tf_log_newline(const char log_fmt[2]);
|
||||
void tf_log_set_max_level(unsigned int log_level);
|
||||
|
||||
#endif /* __ASSEMBLER__ */
|
||||
|
Loading…
x
Reference in New Issue
Block a user