On Thu, Feb 20 2025, Aditya Garg <gargaditya08@xxxxxxxx> wrote: > v2 -> Add this patch > Documentation/core-api/printk-formats.rst | 32 +++++++++++++++++++ > lib/test_printf.c | 39 +++++++++++++++++++---- > lib/vsprintf.c | 38 ++++++++++++++++++---- Yay! Thanks for remembering to include test cases. > > diff --git a/lib/test_printf.c b/lib/test_printf.c > index 59dbe4f9a..ee860327e 100644 > --- a/lib/test_printf.c > +++ b/lib/test_printf.c > @@ -776,21 +776,46 @@ static void __init fwnode_pointer(void) > software_node_unregister_node_group(group); > } > > +struct fourcc_struct { > + u32 code; > + const char *str; > +}; > + > +static void __init fourcc_pointer_test(const struct fourcc_struct *fc, size_t n, > + const char *fmt) > +{ > + size_t i; > + > + for (i = 0; i < n; i++) > + test(fc[i].str, fmt, &fc[i].code); > +} > + > static void __init fourcc_pointer(void) > { > - struct { > - u32 code; > - char *str; > - } const try[] = { > + struct fourcc_struct const try_cc[] = { I know it matches the code it replaces, but kernel style seems to be "const struct foo" rather than "struct foo const" (at around 130:1) - just as you use in the new helper function. Also, please consider changing the array, and the newly added instances, to be static instead of automatic (our le32_to_cpu should be usable also for static initializers). This will conflict with the conversion-to-kunit which is in flight, but the conflict should be trivial to resolve. Rasmus