Message ID | 20250307-vsprintf-pcn-v1-2-df0b2ccf610f@bootlin.com (mailing list archive) |
---|---|
State | New |
Headers | show |
Series | vsprintf: remove redundant %pCn format specifier | expand |
Hi Luca, On Fri, 7 Mar 2025 at 12:19, Luca Ceresoli <luca.ceresoli@bootlin.com> wrote: > %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. The original intention was indeed to serve as a default, like some other formats also have ("%pa[p]", %pOF[f]"). > 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. > > Signed-off-by: Luca Ceresoli <luca.ceresoli@bootlin.com> I guess this is a worthwhile cleanup. Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be> Gr{oetje,eeting}s, Geert -- Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org In personal conversations with technical people, I call myself a hacker. But when I'm talking to journalists I just say "programmer" or something like that. -- Linus Torvalds
On Fri, Mar 07, 2025 at 12:19:08PM +0100, Luca Ceresoli wrote: > %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. You seem forgot to update translation(s) of the documentation.
Hello Andy, On Fri, 7 Mar 2025 19:17:26 +0200 Andy Shevchenko <andriy.shevchenko@linux.intel.com> wrote: > On Fri, Mar 07, 2025 at 12:19:08PM +0100, Luca Ceresoli wrote: > > %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. > > You seem forgot to update translation(s) of the documentation. I'm afraid I don't speak Chinese. :-) For this specific change I think I could come up with an approximation of it, but the both the docs and git log suggest this is not expected. Luca
Quoting Luca Ceresoli (2025-03-07 03:19:08) > %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. > > Signed-off-by: Luca Ceresoli <luca.ceresoli@bootlin.com> > --- Acked-by: Stephen Boyd <sboyd@kernel.org>
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/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
%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. Signed-off-by: Luca Ceresoli <luca.ceresoli@bootlin.com> --- Documentation/core-api/printk-formats.rst | 3 +-- lib/vsprintf.c | 10 ++-------- 2 files changed, 3 insertions(+), 10 deletions(-)