[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