26 Jul, 2011

7 commits

  • Previous behavior allowed only alphabetic prefixes like pr_info to exceed
    the 80 column line length limit.

    ath6kl wants to add a digit into the prefix, so allow numbers as well as
    digits in the _ printks.

    __ratelimited and __once and WARN_RATELIMIT
    and WARN_ONCE may now exceed 80 cols.

    Add missing _printk type for completeness.

    Signed-off-by: Joe Perches
    Cc: Andy Whitcroft
    Cc: Kalle Valo
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Joe Perches
     
  • Some patches are sent in using ISO-8859 or even Windows codepage 1252.

    Make checkpatch accept these by default and only emit the "Invalid UTF-8"
    message when using --strict.

    Signed-off-by: Joe Perches
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Joe Perches
     
  • Some users would like the ability to not emit some of the messages that
    checkpatch produces. This can make it easier to use checkpatch in other
    projects and integrate into scm hook scripts.

    Add command line option to "--ignore" various message types. Add option
    --show-types to emit the "type" of each message. Categorize all ERROR,
    WARN and CHK messages with types.

    Add optional .checkpatch.conf file to store default options.
    3 paths are searched for .checkpatch.conf
    . customized per-tree configurations
    $HOME user global configuration when per-tree configs don't exist
    ./scripts lk defaults to override script
    The .conf file can contain any valid command-line argument and
    the contents are prepended to any additional command line arguments.
    Multiple lines may be used, blank lines are ignored, # is a comment.

    Update "false positive" output for readability.

    Update version to 0.32

    Signed-off-by: Joe Perches
    Acked-by: Mike Frysinger
    Cc: Andy Whitcroft
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Joe Perches
     
  • Prefer the use of __aligned(size) over __attribute__((__aligned___(size)))

    Link: http://lkml.kernel.org/r/20110609094526.1571774c.akpm@linux-foundation.org

    Suggested-by: Andrew Morton
    Signed-off-by: Joe Perches
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Joe Perches
     
  • Signatures have many forms and can sometimes cause problems if not in the
    correct format when using git send-email or quilt.

    Try to verify the signature tags and email addresses to use the generally
    accepted "Signed-off-by: Full Name " form.

    Original idea by Anish Kumar

    Signed-off-by: Joe Perches
    Cc: Anish Kumar
    Cc: Nick Bowler
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Joe Perches
     
  • Fix "need consistent spacing around '*'" error after a __rcu sparse
    annotation which was caused by the missing __rcu entry in the
    checkpatch.pl internal list of sparse keywords.

    Signed-off-by: Sven Eckelmann
    Cc: Andy Whitcroft
    Cc: Joe Perches
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Sven Eckelmann
     
  • A common issue with min() or max() is using a cast on one or both of the
    arguments when using min_t/max_t could be better.

    Add cast detection to uses of min/max and suggest an appropriate use of
    min_t or max_t instead.

    Caveat: This only works for min() or max() on a single line.
    It does not find min() or max() split across multiple lines.

    This does find:
    min((u32)foo, bar);
    But it does not find:
    max((unsigned long)foo,
    bar);

    Suggested-by: Andrew Morton
    Signed-off-by: Joe Perches
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Joe Perches
     

16 Jun, 2011

1 commit


25 May, 2011

3 commits


31 Mar, 2011

1 commit


23 Mar, 2011

3 commits

  • Because the second and third arguments of memset have the same type, it
    turns out to be really easy to mix them up.

    This bug comes up time after time, so checkpatch should really be checking
    for it at patch submission time.

    Signed-off-by: Dave Jones
    Cc: Steven Rostedt
    Cc: Andy Whitcroft
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Dave Jones
     
  • If you run checkpatch against multiple patches, and one of them has a
    whitespace issue which can be helped via a script (rpt_cleaners), you will
    see the same NOTE over and over for all subsequent patches. It makes it
    seem like those patches also have whitespace problems when in reality,
    there's only one or two bad apples.

    So reset rpt_cleaners back to 0 after we've issued the note so that it
    only shows up near the patch with the actual problems.

    Signed-off-by: Mike Frysinger
    Cc: Andy Whitcroft
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Mike Frysinger
     
  • 1. simple_strto*() do not contain overflow checks and crufty,
    libc way to indicate failure.
    2. strict_strto*() also do not have overflow checks but the name and
    comments pretend they do.
    3. Both families have only "long long" and "long" variants,
    but users want strtou8()
    4. Both "simple" and "strict" prefixes are wrong:
    Simple doesn't exactly say what's so simple, strict should not exist
    because conversion should be strict by default.

    The solution is to use "k" prefix and add convertors for more types.
    Enter
    kstrtoull()
    kstrtoll()
    kstrtoul()
    kstrtol()
    kstrtouint()
    kstrtoint()

    kstrtou64()
    kstrtos64()
    kstrtou32()
    kstrtos32()
    kstrtou16()
    kstrtos16()
    kstrtou8()
    kstrtos8()

    Include runtime testsuite (somewhat incomplete) as well.

    strict_strto*() become deprecated, stubbed to kstrto*() and
    eventually will be removed altogether.

    Use kstrto*() in code today!

    Note: on some archs _kstrtoul() and _kstrtol() are left in tree, even if
    they'll be unused at runtime. This is temporarily solution,
    because I don't want to hardcode list of archs where these
    functions aren't needed. Current solution with sizeof() and
    __alignof__ at least always works.

    Signed-off-by: Alexey Dobriyan
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Alexey Dobriyan
     

27 Jan, 2011

1 commit


14 Jan, 2011

4 commits


30 Oct, 2010

1 commit

  • Semaphores used as mutexes have been deprecated for years. Now that
    all users are either converted to real semaphores or to mutexes remove
    the cruft.

    Signed-off-by: Thomas Gleixner
    Cc: Peter Zijlstra
    Cc: Christoph Hellwig
    LKML-Reference:

    Thomas Gleixner
     

27 Oct, 2010

18 commits


10 Aug, 2010

1 commit

  • These are caused by checkpatch incorrectly parsing its internal
    representation of a statement block for struct's (or anything else that is
    a statement block encapsulated in {}'s that also ends with a ';'). Fix
    this by properly parsing a statement block.

    An example:

    +struct dummy_type dummy = {
    + .foo = "baz",
    +};
    +EXPORT_SYMBOL_GPL(dummy);
    +
    +static int dummy_func(void)
    +{
    + return -EDUMMYCODE;
    +}
    +EXPORT_SYMBOL_GPL(dummy_func);

    WARNING: EXPORT_SYMBOL(foo); should immediately \
    follow its function/variable
    #19: FILE: dummy.c:4:
    +EXPORT_SYMBOL_GPL(dummy);

    The above warning is issued when it should not be.

    Signed-off-by: Patrick Pannuto
    Cc: Andy Whitcroft
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Patrick Pannuto