[U-Boot] [PATCH v1 6/8] spl: Disable printf if not required
Alex Kiernan
alex.kiernan at gmail.com
Wed Apr 18 09:02:21 UTC 2018
Now we have a guard for printf, disable it in the build if it's not
selected.
Signed-off-by: Alex Kiernan <alex.kiernan at 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)
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)
+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)
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)
--
2.7.4
More information about the U-Boot
mailing list