Re: [RFC v3] scripts: kernel-doc: reduce repeated regex expressions into variables

From: Jonathan Corbet
Date: Thu Apr 29 2021 - 19:40:11 EST


Aditya Srivastava <yashsri421@xxxxxxxxx> writes:

> There are some regex expressions in the kernel-doc script, which are used
> repeatedly in the script.
>
> Reduce such expressions into variables, which can be used everywhere.
>
> A quick manual check found that no errors and warnings were added/removed
> in this process.
>
> Suggested-by: Jonathan Corbet <corbet@xxxxxxx>
> Signed-off-by: Aditya Srivastava <yashsri421@xxxxxxxxx>
> ---
> Changes in v3:
> - Remove variables for separate qualifiers in "sub dump_struct"
> - Make a common variable for all the qualifiers
> - Make $attribute global variable to use it at "sub check_sections" as well
>
> Changes in v2:
> - Rename $pointer_function to $function_pointer
> - Combine elsif-block expressions at "sub dump_function" into lesser regex expressions
> - Combine $prototype_end1,$prototype_end2 expressions into a common $prototype_end
>
> scripts/kernel-doc | 71 ++++++++++++++++++++++------------------------
> 1 file changed, 34 insertions(+), 37 deletions(-)

So this looks good but ... it adds a warning to the build:

/stuff/k/git/kernel/Documentation/driver-api/media/v4l2-controls:823: ./include/media/v4l2-ctrls.h:964: WARNING: Invalid C declaration: Expected identifier in nested name. [error at 6]
const * v4l2_ctrl_get_menu (u32 id)
------^

So it looks like something isn't being parsed quite identically?

Thanks,

jon