On Thu, Feb 20 2025, Aditya Garg <gargadity...@live.com> 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

Reply via email to