diff options
author | Vic Yang <victoryang@chromium.org> | 2014-05-19 15:03:27 -0700 |
---|---|---|
committer | chrome-internal-fetch <chrome-internal-fetch@google.com> | 2014-05-21 20:32:17 +0000 |
commit | ffac23c0ea1bd4ff4568f5bd709a98f912b833a7 (patch) | |
tree | 362dd0ba205731aa07be97dd35b44b237799b23b /common/console_output.c | |
parent | 478361de694b1fb45abf3c38dafbbf7fd1aa5f71 (diff) | |
download | chrome-ec-ffac23c0ea1bd4ff4568f5bd709a98f912b833a7.tar.gz |
Add cprints() and ccprints()
Our code base contains a lot of debug messages in this pattern:
CPRINTF("[%T xxx]\n") or ccprintf("[%T xxx]\n")
The strings are taking up spaces in the EC binaries, so let's refactor
this by adding cprints() and ccprints().
cprints() is just like cprintf(), except that it adds the brackets
and the timestamp. ccprints() is equivalent to cprints(CC_CONSOLE, ...)
This saves us hundreds of bytes in EC binaries.
BUG=chromium:374575
TEST=Build and check flash size
BRANCH=None
Change-Id: Ifafe8dc1b80e698b28ed42b70518c7917b49ee51
Signed-off-by: Vic Yang <victoryang@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/200490
Reviewed-by: Randall Spangler <rspangler@chromium.org>
Diffstat (limited to 'common/console_output.c')
-rw-r--r-- | common/console_output.c | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/common/console_output.c b/common/console_output.c index 4ff5a9c478..9722adbcb1 100644 --- a/common/console_output.c +++ b/common/console_output.c @@ -88,6 +88,25 @@ int cprintf(enum console_channel channel, const char *format, ...) return rv; } +int cprints(enum console_channel channel, const char *format, ...) +{ + int r, rv; + va_list args; + + /* Filter out inactive channels */ + if (!(CC_MASK(channel) & channel_mask)) + return EC_SUCCESS; + + va_start(args, format); + rv = uart_printf("[%T "); + r = uart_vprintf(format, args); + if (r) + rv = r; + r = uart_puts("]\n"); + va_end(args); + return r ? r : rv; +} + void cflush(void) { uart_flush_output(); |