[U-Boot] [PATCH v2 1/3] display_options: Refactor to allow obtaining the banner

Bin Meng bmeng.cn at gmail.com
Mon Jun 12 15:13:12 UTC 2017


On Sun, Jun 11, 2017 at 1:59 AM, Simon Glass <sjg at chromium.org> wrote:
> Move the display options code into a separate function so that the U-Boot
> banner can be obtained from other code. Adjust the 'version' command to
> use it.
>
> Signed-off-by: Simon Glass <sjg at chromium.org>
> ---
>
> Changes in v2:
> - Update the code to be more testable
> - Avoid a warning on spring, etc.
>
>  cmd/version.c             |  4 +++-
>  include/display_options.h | 19 +++++++++++++++++++
>  lib/display_options.c     | 36 +++++++++++++++++++++++++++++++-----
>  3 files changed, 53 insertions(+), 6 deletions(-)
>

Reviewed-by: Bin Meng <bmeng.cn at gmail.com>

One nits below.

> diff --git a/cmd/version.c b/cmd/version.c
> index 1be0667f09..15aab5dc18 100644
> --- a/cmd/version.c
> +++ b/cmd/version.c
> @@ -17,7 +17,9 @@ const char __weak version_string[] = U_BOOT_VERSION_STRING;
>
>  static int do_version(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
>  {
> -       printf("\n%s\n", version_string);
> +       char buf[DISPLAY_OPTIONS_BANNER_LENGTH];
> +
> +       printf(display_options_get_banner(false, buf, sizeof(buf)));
>  #ifdef CC_VERSION_STRING
>         puts(CC_VERSION_STRING "\n");
>  #endif
> diff --git a/include/display_options.h b/include/display_options.h
> index ac44c459b3..ad707a344c 100644
> --- a/include/display_options.h
> +++ b/include/display_options.h
> @@ -56,4 +56,23 @@ int print_buffer(ulong addr, const void *data, uint width, uint count,
>   */
>  int display_options(void);
>
> +/* Suggested length of the buffer to pass to display_options_get_banner() */
> +#define DISPLAY_OPTIONS_BANNER_LENGTH  200
> +
> +/**
> + * display_options_get_banner() - Get the U-Boot banner as a string
> + *
> + * This returns the U-Boot banner string
> + *
> + * @newlines: true to include two newlines at the start
> + * @buf: place to put string
> + * @size: Size of buf (string is truncated to fit)
> + * @return buf
> + */
> +char *display_options_get_banner(bool newlines, char *buf, int size);
> +
> +/** This function is used for testing only */

nits: should be /*

[snip]

Regards,
Bin


More information about the U-Boot mailing list