[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