Re: [PATCH] update checkpatch.pl to version 0.08

Kok, Auke
2007-07-23T23:52:39Z

Andy Whitcroft wrote:
> This version brings a number of new checks, and a number of bug
> fixes. Of note:
>
> - warnings for multiple assignments per line
> - warnings for multiple declarations per line
> - checks for single statement blocks with braces
>
> This patch includes an update for feature-removal-schedule.txt to
> better target checks.
>
> Andy Whitcroft (12):
> Version: 0.08
> only apply printk checks where there is a string literal
> allow suppression of errors for when no patch is found
> warn about multiple assignments
> warn on declaration of multiple variables
> check for kfree() with needless null check
> check for single statement braced blocks
> check for aggregate initialisation on the next line
> handle the => operator
> check for spaces between function name and open parenthesis
> move to explicit Check: entries in feature-removal-schedule.txt
> handle pointer attributes

within the last 3 weeks, this script went from *really usable* to *a big noise
maker*.

I am testing this with new drivers (igb, e1000e, ixgbe) and the amount of
warnings it throws was in the order of 10 last week, but now I'm at hundreds
again, and my code has not changed.

The superfluous braces error should definately be fixed.

Warning on multiple declarations on a line is nice, but IMO really too verbose
(why is "int i, j;" bad? Did C somehow change syntax today?).

Some of the new features are plain broken as I posted before. A lot of it now is
purely false positives only.

Bottom line: I really wish that I could have the script run in the old behaviour
before. While this level of verbosity is great for single-line patches, it
really completely wastes my time when I'm trying to get a grasp for a 200k hunk
piece of code.

The best way to implement this is that I can somehow select / omit some of these
checks when running the script. With more and more checks added to the script it
will be very quick for new driver writers to stop using it because of the sheer
volume that the script currently outputs.

Auke