
On 18/04/2018 11:02, Alex Kiernan wrote:
Now we have a guard for printf, disable it in the build if it's not selected.
Signed-off-by: Alex Kiernan alex.kiernan@gmail.com
lib/panic.c | 3 +++ lib/tiny-printf.c | 13 ++++++++----- lib/vsprintf.c | 4 +++- 3 files changed, 14 insertions(+), 6 deletions(-)
diff --git a/lib/panic.c b/lib/panic.c index e2b8b74..3ca6421 100644 --- a/lib/panic.c +++ b/lib/panic.c @@ -37,9 +37,12 @@ void panic_str(const char *str)
void panic(const char *fmt, ...) { +#if !(IS_ENABLED(CONFIG_SPL_BUILD) || IS_ENABLED(CONFIG_TPL_BUILD)) || \
- CONFIG_IS_ENABLED(PRINTF)
Why not use only CONFIG_IS_ENABLED(PRINTF) ?
va_list args; va_start(args, fmt); vprintf(fmt, args); va_end(args); +#endif panic_finish(); } diff --git a/lib/tiny-printf.c b/lib/tiny-printf.c index 0b04813..9b97aed 100644 --- a/lib/tiny-printf.c +++ b/lib/tiny-printf.c @@ -23,11 +23,6 @@ struct printf_info { void (*putc)(struct printf_info *info, char ch); };
-static void putc_normal(struct printf_info *info, char ch) -{
- putc(ch);
-}
- static void out(struct printf_info *info, char c) { *info->bf++ = c;
@@ -321,6 +316,13 @@ abort: return 0; }
+#if !(IS_ENABLED(CONFIG_SPL_BUILD) || IS_ENABLED(CONFIG_TPL_BUILD)) || \
- CONFIG_IS_ENABLED(PRINTF)
ditto.
+static void putc_normal(struct printf_info *info, char ch) +{
- putc(ch);
+}
- int vprintf(const char *fmt, va_list va) { struct printf_info info;
@@ -343,6 +345,7 @@ int printf(const char *fmt, ...)
return ret; } +#endif
static void putc_outstr(struct printf_info *info, char ch) { diff --git a/lib/vsprintf.c b/lib/vsprintf.c index 5f7a5f1..bb0c573 100644 --- a/lib/vsprintf.c +++ b/lib/vsprintf.c @@ -783,6 +783,8 @@ int sprintf(char *buf, const char *fmt, ...) return i; }
+#if !(IS_ENABLED(CONFIG_SPL_BUILD) || IS_ENABLED(CONFIG_TPL_BUILD)) || \
- CONFIG_IS_ENABLED(PRINTF)
ditto.
JJ
int printf(const char *fmt, ...) { va_list args; @@ -824,7 +826,7 @@ int vprintf(const char *fmt, va_list args) puts(printbuffer); return i; }
+#endif
void __assert_fail(const char *assertion, const char *file, unsigned line, const char *function)