[U-Boot] [PATCH v1 6/8] spl: Disable printf if not required
Jean-Jacques Hiblot
jjhiblot at ti.com
Wed Apr 18 09:27:15 UTC 2018
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 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)
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)
More information about the U-Boot
mailing list