summaryrefslogtreecommitdiff
path: root/common/console_output.c
diff options
context:
space:
mode:
authorVic Yang <victoryang@chromium.org>2014-05-19 15:03:27 -0700
committerchrome-internal-fetch <chrome-internal-fetch@google.com>2014-05-21 20:32:17 +0000
commitffac23c0ea1bd4ff4568f5bd709a98f912b833a7 (patch)
tree362dd0ba205731aa07be97dd35b44b237799b23b /common/console_output.c
parent478361de694b1fb45abf3c38dafbbf7fd1aa5f71 (diff)
downloadchrome-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.c19
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();