[PATCH v2 2/2] vsprintf: remove redundant and unused %pCn format specifier
Yanteng Si
si.yanteng at linux.dev
Tue Mar 11 02:34:58 PDT 2025
在 3/11/25 5:21 PM, Luca Ceresoli 写道:
> %pC and %pCn print the same string, and commit 900cca294425 ("lib/vsprintf:
> add %pC{,n,r} format specifiers for clocks") introducing them does not
> clarify any intended difference. It can be assumed %pC is a default for
> %pCn as some other specifiers do, but not all are consistent with this
> policy. Moreover there is now no other suffix other than 'n', which makes a
> default not really useful.
>
> All users in the kernel were using %pC except for one which has been
> converted. So now remove %pCn and all the unnecessary extra code and
> documentation.
>
> Acked-by: Stephen Boyd <sboyd at kernel.org>
> Reviewed-by: Geert Uytterhoeven <geert+renesas at glider.be>
> Signed-off-by: Luca Ceresoli <luca.ceresoli at bootlin.com>
Reviewed-by: Yanteng Si <si.yanteng at linux.dev>
Thanks,
Yanteng
>
> ---
>
> Changes in v2:
> - update Chinese documentation (change acked by Yanteng Si <si.yanteng at linux.dev>)
> ---
> Documentation/core-api/printk-formats.rst | 3 +--
> Documentation/translations/zh_CN/core-api/printk-formats.rst | 3 +--
> lib/vsprintf.c | 10 ++--------
> 3 files changed, 4 insertions(+), 12 deletions(-)
>
> diff --git a/Documentation/core-api/printk-formats.rst b/Documentation/core-api/printk-formats.rst
> index ecccc0473da9c10f45f2464566f690472c61401e..f3009e6ec80a864c330c8812efcd82c12f4066b3 100644
> --- a/Documentation/core-api/printk-formats.rst
> +++ b/Documentation/core-api/printk-formats.rst
> @@ -571,9 +571,8 @@ struct clk
> ::
>
> %pC pll1
> - %pCn pll1
>
> -For printing struct clk structures. %pC and %pCn print the name of the clock
> +For printing struct clk structures. %pC prints the name of the clock
> (Common Clock Framework) or a unique 32-bit ID (legacy clock framework).
>
> Passed by reference.
> diff --git a/Documentation/translations/zh_CN/core-api/printk-formats.rst b/Documentation/translations/zh_CN/core-api/printk-formats.rst
> index bd36d35eba4eb124be43a66227059a30429e4135..96a917ecc93f2a4872784b6d8e3f98bcb9f5f737 100644
> --- a/Documentation/translations/zh_CN/core-api/printk-formats.rst
> +++ b/Documentation/translations/zh_CN/core-api/printk-formats.rst
> @@ -523,9 +523,8 @@ clk结构体
> ::
>
> %pC pll1
> - %pCn pll1
>
> -用于打印clk结构。%pC 和 %pCn 打印时钟的名称(通用时钟框架)或唯一的32位
> +用于打印clk结构。%pC 打印时钟的名称(通用时钟框架)或唯一的32位
> ID(传统时钟框架)。
>
> 通过引用传递。
> diff --git a/lib/vsprintf.c b/lib/vsprintf.c
> index 56fe96319292674c9f79559cf78dd0d99d1a1f06..143d55cb1c12acac21a6c6bafd255437e878f280 100644
> --- a/lib/vsprintf.c
> +++ b/lib/vsprintf.c
> @@ -1969,15 +1969,11 @@ char *clock(char *buf, char *end, struct clk *clk, struct printf_spec spec,
> if (check_pointer(&buf, end, clk, spec))
> return buf;
>
> - switch (fmt[1]) {
> - case 'n':
> - default:
> #ifdef CONFIG_COMMON_CLK
> - return string(buf, end, __clk_get_name(clk), spec);
> + return string(buf, end, __clk_get_name(clk), spec);
> #else
> - return ptr_to_id(buf, end, clk, spec);
> + return ptr_to_id(buf, end, clk, spec);
> #endif
> - }
> }
>
> static
> @@ -2382,8 +2378,6 @@ char *rust_fmt_argument(char *buf, char *end, void *ptr);
> * T time64_t
> * - 'C' For a clock, it prints the name (Common Clock Framework) or address
> * (legacy clock framework) of the clock
> - * - 'Cn' For a clock, it prints the name (Common Clock Framework) or address
> - * (legacy clock framework) of the clock
> * - 'G' For flags to be printed as a collection of symbolic strings that would
> * construct the specific value. Supported flags given by option:
> * p page flags (see struct page) given as pointer to unsigned long
>
More information about the linux-arm-kernel
mailing list