Re: [PATCH 2/2] checkpatch: kconfig: add missing types to regex

From: Joe Perches
Date: Sun Dec 20 2020 - 14:21:57 EST


On Mon, 2020-12-14 at 11:24 +0100, Nicolai Fischer wrote:
> Kconfig parsing does not recognise all type attributes.
> This adds the missing 'int', 'sting' and 'hex' types.
>
> Signed-off-by: Nicolai Fischer <nicolai.fischer@xxxxxx>
> Co-developed-by: Johannes Czekay <johannes.czekay@xxxxxx>
> Signed-off-by: Johannes Czekay <johannes.czekay@xxxxxx>
[]
> diff --git a/scripts/checkpatch.pl b/scripts/checkpatch.pl
[]
> @@ -3321,7 +3321,7 @@ sub process {
>   next if ($f =~ /^-/);
>   last if (!$file && $f =~ /^\@\@/);
>  
>
> - if ($lines[$ln - 1] =~ /^\+\s*(?:bool|tristate|prompt)\s*["']/) {
> + if ($lines[$ln - 1] =~ /^\+\s*(?:bool|tristate|int|hex|string|prompt)\s*["']/) {

int and hex uses are not required to be followed either a " or '
For that matter, it's not required for tristate, bool or string

Likely this should be ["'$]

$ git grep -P -oh '^\s*(?:bool|tristate|int|hex|string|prompt)\b\s*\S?' -- '*/Kconfig*' | \
sed -r -e 's/^\s+//' -e 's/\s+/ /g' | \
sort | uniq -c | sort -rn
8558 tristate "
6314 bool "
2082 bool
843 tristate
308 prompt "
286 int "
106 tristate '
93 int
84 hex "
66 string "
25 hex
21 bool '
18 string
5 hex '
3 string p
2 string (
1 string '
1 int.
1 bool #
1 bool