On Fri, 17 May 2024 at 00:12, Raymond Mao <raymond....@linaro.org> wrote:
>
> Move snprintf to stdio.h since it is needed by exteranl libraries.
>
> Signed-off-by: Raymond Mao <raymond....@linaro.org>
> ---
> Changes in v2
> - New patch.
> Changes in v3
> - Move comments and attributes of snprintf.
>
>  arch/arc/lib/cpu.c             |  2 +-
>  board/Synology/common/legacy.c |  1 +
>  board/ti/common/fdt_ops.c      |  2 +-
>  cmd/part.c                     |  1 +
>  common/button_cmd.c            |  2 +-
>  drivers/cpu/mpc83xx_cpu.c      |  2 +-
>  include/stdio.h                | 17 +++++++++++++++++
>  include/vsprintf.h             | 17 -----------------
>  lib/display_options.c          |  1 +
>  lib/fwu_updates/fwu_mtd.c      |  2 +-
>  lib/hexdump.c                  |  2 +-
>  lib/vsprintf.c                 |  1 +
>  test/dm/scmi.c                 |  2 +-
>  test/print_ut.c                |  1 +
>  14 files changed, 29 insertions(+), 24 deletions(-)
>
> diff --git a/arch/arc/lib/cpu.c b/arch/arc/lib/cpu.c
> index 593950449f2..269b4dbdd15 100644
> --- a/arch/arc/lib/cpu.c
> +++ b/arch/arc/lib/cpu.c
> @@ -7,7 +7,7 @@
>  #include <clock_legacy.h>
>  #include <init.h>
>  #include <malloc.h>
> -#include <vsprintf.h>
> +#include <stdio.h>
>  #include <asm/arcregs.h>
>  #include <asm/cache.h>
>  #include <asm/global_data.h>
> diff --git a/board/Synology/common/legacy.c b/board/Synology/common/legacy.c
> index a0bace7b46c..2e3aa660eaa 100644
> --- a/board/Synology/common/legacy.c
> +++ b/board/Synology/common/legacy.c
> @@ -6,6 +6,7 @@
>   */
>
>  #include <config.h>
> +#include <stdio.h>
>  #include <vsprintf.h>
>  #include <env.h>
>  #include <net.h>
> diff --git a/board/ti/common/fdt_ops.c b/board/ti/common/fdt_ops.c
> index eb917be9e0d..8a3300993ed 100644
> --- a/board/ti/common/fdt_ops.c
> +++ b/board/ti/common/fdt_ops.c
> @@ -6,7 +6,7 @@
>   */
>
>  #include <env.h>
> -#include <vsprintf.h>
> +#include <stdio.h>
>  #include "fdt_ops.h"
>
>  void ti_set_fdt_env(const char *board_name, struct ti_fdt_map *fdt_map)
> diff --git a/cmd/part.c b/cmd/part.c
> index d140a1eddb9..db7bc5819c0 100644
> --- a/cmd/part.c
> +++ b/cmd/part.c
> @@ -19,6 +19,7 @@
>  #include <command.h>
>  #include <env.h>
>  #include <part.h>
> +#include <stdio.h>
>  #include <vsprintf.h>
>
>  enum cmd_part_info {
> diff --git a/common/button_cmd.c b/common/button_cmd.c
> index 8642c26735c..72dac1f9ef6 100644
> --- a/common/button_cmd.c
> +++ b/common/button_cmd.c
> @@ -8,7 +8,7 @@
>  #include <command.h>
>  #include <env.h>
>  #include <log.h>
> -#include <vsprintf.h>
> +#include <stdio.h>
>
>  /* Some sane limit "just in case" */
>  #define MAX_BTN_CMDS 32
> diff --git a/drivers/cpu/mpc83xx_cpu.c b/drivers/cpu/mpc83xx_cpu.c
> index 9a7b5fd7c42..127d3c3af08 100644
> --- a/drivers/cpu/mpc83xx_cpu.c
> +++ b/drivers/cpu/mpc83xx_cpu.c
> @@ -9,7 +9,7 @@
>  #include <cpu.h>
>  #include <dm.h>
>  #include <log.h>
> -#include <vsprintf.h>
> +#include <stdio.h>
>  #include <linux/bitops.h>
>
>  #include "mpc83xx_cpu.h"
> diff --git a/include/stdio.h b/include/stdio.h
> index 3241e2d493f..7b999a519ba 100644
> --- a/include/stdio.h
> +++ b/include/stdio.h
> @@ -46,6 +46,23 @@ static inline int vprintf(const char *fmt, va_list args)
>  }
>  #endif
>
> +/**
> + * Format a string and place it in a buffer
> + *
> + * @buf: The buffer to place the result into
> + * @size: The size of the buffer, including the trailing null space
> + * @fmt: The format string to use
> + * @...: Arguments for the format string
> + * Return: the number of characters which would be
> + * generated for the given input, excluding the trailing null,
> + * as per ISO C99.  If the return is greater than or equal to
> + * @size, the resulting string is truncated.
> + *
> + * See the vsprintf() documentation for format string extensions over C99.
> + */
> +int snprintf(char *buf, size_t size, const char *fmt, ...)
> +            __attribute__ ((format (__printf__, 3, 4)));
> +
>  /*
>   * FILE based functions (can only be used AFTER relocation!)
>   */
> diff --git a/include/vsprintf.h b/include/vsprintf.h
> index ed8a060ee17..fe951471426 100644
> --- a/include/vsprintf.h
> +++ b/include/vsprintf.h
> @@ -218,23 +218,6 @@ char *simple_itoa(ulong val);
>   */
>  char *simple_xtoa(ulong num);
>
> -/**
> - * Format a string and place it in a buffer
> - *
> - * @buf: The buffer to place the result into
> - * @size: The size of the buffer, including the trailing null space
> - * @fmt: The format string to use
> - * @...: Arguments for the format string
> - * Return: the number of characters which would be
> - * generated for the given input, excluding the trailing null,
> - * as per ISO C99.  If the return is greater than or equal to
> - * @size, the resulting string is truncated.
> - *
> - * See the vsprintf() documentation for format string extensions over C99.
> - */
> -int snprintf(char *buf, size_t size, const char *fmt, ...)
> -               __attribute__ ((format (__printf__, 3, 4)));
> -
>  /**
>   * Format a string and place it in a buffer
>   *
> diff --git a/lib/display_options.c b/lib/display_options.c
> index d6b93553dcb..d5df53ab15f 100644
> --- a/lib/display_options.c
> +++ b/lib/display_options.c
> @@ -12,6 +12,7 @@
>  #include <linux/ctype.h>
>  #include <linux/kernel.h>
>  #include <asm/io.h>
> +#include <stdio.h>
>  #include <vsprintf.h>
>
>  char *display_options_get_banner_priv(bool newlines, const char *build_tag,
> diff --git a/lib/fwu_updates/fwu_mtd.c b/lib/fwu_updates/fwu_mtd.c
> index 69cd3d7001f..4a52834b61a 100644
> --- a/lib/fwu_updates/fwu_mtd.c
> +++ b/lib/fwu_updates/fwu_mtd.c
> @@ -11,7 +11,7 @@
>  #include <malloc.h>
>  #include <mtd.h>
>  #include <uuid.h>
> -#include <vsprintf.h>
> +#include <stdio.h>
>
>  #include <dm/ofnode.h>
>
> diff --git a/lib/hexdump.c b/lib/hexdump.c
> index 33e3e6e5182..2bc508ff504 100644
> --- a/lib/hexdump.c
> +++ b/lib/hexdump.c
> @@ -10,7 +10,7 @@
>
>  #include <hexdump.h>
>  #include <mapmem.h>
> -#include <vsprintf.h>
> +#include <stdio.h>
>  #include <linux/ctype.h>
>  #include <linux/compat.h>
>  #include <linux/log2.h>
> diff --git a/lib/vsprintf.c b/lib/vsprintf.c
> index 27ea9c907a3..cfd1f1914ed 100644
> --- a/lib/vsprintf.c
> +++ b/lib/vsprintf.c
> @@ -19,6 +19,7 @@
>  #include <hexdump.h>
>  #include <stdarg.h>
>  #include <uuid.h>
> +#include <stdio.h>
>  #include <vsprintf.h>
>  #include <linux/ctype.h>
>  #include <linux/err.h>
> diff --git a/test/dm/scmi.c b/test/dm/scmi.c
> index 69fc900e342..c9a03523184 100644
> --- a/test/dm/scmi.c
> +++ b/test/dm/scmi.c
> @@ -18,7 +18,7 @@
>  #include <scmi_agent.h>
>  #include <scmi_agent-uclass.h>
>  #include <scmi_protocols.h>
> -#include <vsprintf.h>
> +#include <stdio.h>
>  #include <asm/scmi_test.h>
>  #include <dm/device-internal.h>
>  #include <dm/test.h>
> diff --git a/test/print_ut.c b/test/print_ut.c
> index bded2b6ebe5..53d3354ea69 100644
> --- a/test/print_ut.c
> +++ b/test/print_ut.c
> @@ -9,6 +9,7 @@
>  #include <log.h>
>  #include <mapmem.h>
>  #include <version_string.h>
> +#include <stdio.h>
>  #include <vsprintf.h>
>  #include <test/suites.h>
>  #include <test/test.h>
> --
> 2.25.1
>

Reviewed-by: Ilias Apalodimas <ilias.apalodi...@linaro.org>

Reply via email to