On Mon, Apr 10, 2017 at 10:45:55AM -0700, Joe Perches wrote:
> Many structs are generally used const and there is a known list
> of these structs.
> 
> struct definitions should not be generally be declared const.
> 
> Add a test for the lack of an open brace immediately after the
> struct to avoid definitions.
> 
> This avoids the false positive "struct foo should normally be const"
> message only when the open brace is on the same line as the definition.
> 
> Signed-off-by: Joe Perches <[email protected]>
> ---
>  scripts/checkpatch.pl | 6 +++---
>  1 file changed, 3 insertions(+), 3 deletions(-)
> 
> diff --git a/scripts/checkpatch.pl b/scripts/checkpatch.pl
> index 089c974aa3a5..3a1cb9d7474e 100755
> --- a/scripts/checkpatch.pl
> +++ b/scripts/checkpatch.pl
> @@ -6090,11 +6090,11 @@ sub process {
>               }
>  
>  # check for various structs that are normally const (ops, kgdb, device_tree)
> +# and avoid what seem like struct definitions 'struct foo {'
>               if ($line !~ /\bconst\b/ &&
> -                 $line =~ /\bstruct\s+($const_structs)\b/) {
> +                 $line =~ /\bstruct\s+($const_structs)\b(?!\s*\{)/) {
>                       WARN("CONST_STRUCT",
> -                          "struct $1 should normally be const\n" .
> -                             $herecurr);
> +                          "struct $1 should normally be const\n" . 
> $herecurr);
>               }
>  
>  # use of NR_CPUS is usually wrong
> -- 
> 2.10.0.rc2.1.g053435c
>

Oh, right... Everything makes sence now!

That output from checkpatch was confusing. Well, at least for that
little newbie that got the weird idea to send a "fix" on some comedi 
driver code (me).

(I have to say, that was an interesting experience, and if me sending
that patch made Joe Perches improve checkpatch a tiny little bit, it
wasn't *that* useless... I just hope I did not annoy people too much)


Obviusly, the patch I sent about that staging comedi driver should be
ignored. I'll be a bit more careful when looking at these thing, and 
recheck with the coding-style part of the doc.

Regards,
Arthur Brainville

Reply via email to