[Linux-kernel-mentees] [PATCH] checkpatch: add --fix option to IS_ENABLED_CONFIG check
Dwaipayan Ray
dwaipayanray1 at gmail.com
Thu Dec 10 11:50:15 UTC 2020
On Tue, Dec 8, 2020 at 12:28 AM Dwaipayan Ray <dwaipayanray1 at gmail.com> wrote:
>
> Documentation/process/coding-style.rst specifies the use of
> IS_ENABLED macro:
>
> Within code, where possible, use the IS_ENABLED macro to convert a Kconfig
> symbol into a C boolean expression, and use it in a normal C conditional:
>
> if (IS_ENABLED(CONFIG_SOMETHING)) {
> ...
> }
>
> checkpatch correspondingly has a check for IS_ENABLED() without
> CONFIG_<FOO>.
> Add a --fix option to the check to automatically correct the argument.
>
> Macros like:
> #if IS_ENABLED(THERMAL)
>
> is corrected to:
> #if IS_ENABLED(CONFIG_THERMAL)
>
> Signed-off-by: Dwaipayan Ray <dwaipayanray1 at gmail.com>
> ---
> scripts/checkpatch.pl | 7 +++++--
> 1 file changed, 5 insertions(+), 2 deletions(-)
>
> diff --git a/scripts/checkpatch.pl b/scripts/checkpatch.pl
> index 7b086d1cd6c2..751cd13622b9 100755
> --- a/scripts/checkpatch.pl
> +++ b/scripts/checkpatch.pl
> @@ -6877,8 +6877,11 @@ sub process {
>
> # check for IS_ENABLED() without CONFIG_<FOO> ($rawline for comments too)
> if ($rawline =~ /\bIS_ENABLED\s*\(\s*(\w+)\s*\)/ && $1 !~ /^${CONFIG_}/) {
> - WARN("IS_ENABLED_CONFIG",
> - "IS_ENABLED($1) is normally used as IS_ENABLED(${CONFIG_}$1)\n" . $herecurr);
> + if (WARN("IS_ENABLED_CONFIG",
> + "IS_ENABLED($1) is normally used as IS_ENABLED(${CONFIG_}$1)\n" . $herecurr) &&
> + $fix) {
> + $fixed[$fixlinenr] =~ s/\bIS_ENABLED\s*\(\s*(\w+)\s*\)/IS_ENABLED(${CONFIG_}$1)/;
> + }
> }
>
> # check for #if defined CONFIG_<FOO> || defined CONFIG_<FOO>_MODULE
> --
> 2.27.0
Hi Lukas,
You probably missed this patch.
If you are okay with it could I send it off to LKML?
Thank you,
Dwaipayan.
More information about the Linux-kernel-mentees
mailing list