Skip to content
Snippets Groups Projects
  • Linus Torvalds's avatar
    8c79f4cd
    Merge tag 'docs-5.2' of git://git.lwn.net/linux · 8c79f4cd
    Linus Torvalds authored
    Pull documentation updates from Jonathan Corbet:
     "A reasonably busy cycle for docs, including:
    
       - Lots of work on the Chinese and Italian translations
    
       - Some license-rules clarifications from Christoph
    
       - Various build-script fixes
    
       - A new document on memory models
    
       - RST conversion of the live-patching docs
    
       - The usual collection of typo fixes and corrections"
    
    * tag 'docs-5.2' of git://git.lwn.net/linux: (140 commits)
      docs/livepatch: Unify style of livepatch documentation in the ReST format
      docs: livepatch: convert docs to ReST and rename to *.rst
      scripts/documentation-file-ref-check: detect broken :doc:`foo`
      scripts/documentation-file-ref-check: don't parse Next/ dir
      LICENSES: Rename other to deprecated
      LICENSES: Clearly mark dual license only licenses
      docs: Don't reference the ZLib license in license-rules.rst
      docs/vm: Minor editorial changes in the THP and hugetlbfs
      docs/vm: add documentation of memory models
      doc:it_IT: translation alignment
      doc: fix typo in PGP guide
      dontdiff: update with Kconfig build artifacts
      docs/zh_CN: fix typos in 1.Intro.rst file
      docs/zh_CN: redirect CoC docs to Chinese version
      doc: mm: migration doesn't use FOLL_SPLIT anymore
      docs: doc-guide: remove the extension from .rst files
      doc: kselftest: Fix KBUILD_OUTPUT usage instructions
      docs: trace: fix some Sphinx warnings
      docs: speculation.txt: mark example blocks as such
      docs: ntb.txt: add blank lines to clean up some Sphinx warnings
      ...
    8c79f4cd
    History
    Merge tag 'docs-5.2' of git://git.lwn.net/linux
    Linus Torvalds authored
    Pull documentation updates from Jonathan Corbet:
     "A reasonably busy cycle for docs, including:
    
       - Lots of work on the Chinese and Italian translations
    
       - Some license-rules clarifications from Christoph
    
       - Various build-script fixes
    
       - A new document on memory models
    
       - RST conversion of the live-patching docs
    
       - The usual collection of typo fixes and corrections"
    
    * tag 'docs-5.2' of git://git.lwn.net/linux: (140 commits)
      docs/livepatch: Unify style of livepatch documentation in the ReST format
      docs: livepatch: convert docs to ReST and rename to *.rst
      scripts/documentation-file-ref-check: detect broken :doc:`foo`
      scripts/documentation-file-ref-check: don't parse Next/ dir
      LICENSES: Rename other to deprecated
      LICENSES: Clearly mark dual license only licenses
      docs: Don't reference the ZLib license in license-rules.rst
      docs/vm: Minor editorial changes in the THP and hugetlbfs
      docs/vm: add documentation of memory models
      doc:it_IT: translation alignment
      doc: fix typo in PGP guide
      dontdiff: update with Kconfig build artifacts
      docs/zh_CN: fix typos in 1.Intro.rst file
      docs/zh_CN: redirect CoC docs to Chinese version
      doc: mm: migration doesn't use FOLL_SPLIT anymore
      docs: doc-guide: remove the extension from .rst files
      doc: kselftest: Fix KBUILD_OUTPUT usage instructions
      docs: trace: fix some Sphinx warnings
      docs: speculation.txt: mark example blocks as such
      docs: ntb.txt: add blank lines to clean up some Sphinx warnings
      ...
Code owners
Assign users and groups as approvers for specific file changes. Learn more.
checkpatch.pl 197.78 KiB
#!/usr/bin/env perl
# SPDX-License-Identifier: GPL-2.0
#
# (c) 2001, Dave Jones. (the file handling bit)
# (c) 2005, Joel Schopp <jschopp@austin.ibm.com> (the ugly bit)
# (c) 2007,2008, Andy Whitcroft <apw@uk.ibm.com> (new conditions, test suite)
# (c) 2008-2010 Andy Whitcroft <apw@canonical.com>
# (c) 2010-2018 Joe Perches <joe@perches.com>

use strict;
use warnings;
use POSIX;
use File::Basename;
use Cwd 'abs_path';
use Term::ANSIColor qw(:constants);
use Encode qw(decode encode);

my $P = $0;
my $D = dirname(abs_path($P));

my $V = '0.32';

use Getopt::Long qw(:config no_auto_abbrev);

my $quiet = 0;
my $tree = 1;
my $chk_signoff = 1;
my $chk_patch = 1;
my $tst_only;
my $emacs = 0;
my $terse = 0;
my $showfile = 0;
my $file = 0;
my $git = 0;
my %git_commits = ();
my $check = 0;
my $check_orig = 0;
my $summary = 1;
my $mailback = 0;
my $summary_file = 0;
my $show_types = 0;
my $list_types = 0;
my $fix = 0;
my $fix_inplace = 0;
my $root;
my %debug;
my %camelcase = ();
my %use_type = ();
my @use = ();
my %ignore_type = ();
my @ignore = ();
my $help = 0;
my $configuration_file = ".checkpatch.conf";
my $max_line_length = 80;
my $ignore_perl_version = 0;
my $minimum_perl_version = 5.10.0;
my $min_conf_desc_length = 4;
my $spelling_file = "$D/spelling.txt";
my $codespell = 0;
my $codespellfile = "/usr/share/codespell/dictionary.txt";
my $conststructsfile = "$D/const_structs.checkpatch";
my $typedefsfile = "";
my $color = "auto";
my $allow_c99_comments = 1; # Can be overridden by --ignore C99_COMMENT_TOLERANCE

sub help {
	my ($exitcode) = @_;

	print << "EOM";
Usage: $P [OPTION]... [FILE]...