mirror of https://gitee.com/openkylin/linux.git
Merge branch 'misc' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild
Pull kbuild misc changes from Michal Marek: "In the non-critical part of kbuild, I have - Some make coccicheck improvements and two new tests - Support for a cleaner html output in scripts/kernel-doc, named html5 (no, it does not play videos, yet) BTW, Randy wants to route further kernel-doc patches through the kbuild tree." * 'misc' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild: Update SmPL/Coccinelle section of MAINTAINERS coccicheck: Add the rep+ctxt mode scripts/coccinelle/tests/odd_ptr_err.cocci: semantic patch for IS_ERR/PTR_ERR inconsistency scripts/tags.sh: Add magic for pci access functions scripts/coccinelle: ptr_ret: Add ternary operator version scripts/kernel-doc: drop maintainer scripts/kernel-doc: added support for html5
This commit is contained in:
commit
cbd8aca472
11
MAINTAINERS
11
MAINTAINERS
|
@ -1958,10 +1958,10 @@ S: Supported
|
|||
F: drivers/platform/x86/classmate-laptop.c
|
||||
|
||||
COCCINELLE/Semantic Patches (SmPL)
|
||||
M: Julia Lawall <julia@diku.dk>
|
||||
M: Julia Lawall <Julia.Lawall@lip6.fr>
|
||||
M: Gilles Muller <Gilles.Muller@lip6.fr>
|
||||
M: Nicolas Palix <npalix.work@gmail.com>
|
||||
L: cocci@diku.dk (moderated for non-subscribers)
|
||||
M: Nicolas Palix <nicolas.palix@imag.fr>
|
||||
L: cocci@systeme.lip6.fr (moderated for non-subscribers)
|
||||
W: http://coccinelle.lip6.fr/
|
||||
S: Supported
|
||||
F: scripts/coccinelle/
|
||||
|
@ -2423,11 +2423,6 @@ S: Maintained
|
|||
F: Documentation/hwmon/dme1737
|
||||
F: drivers/hwmon/dme1737.c
|
||||
|
||||
DOCBOOK FOR DOCUMENTATION
|
||||
M: Randy Dunlap <rdunlap@xenotime.net>
|
||||
S: Maintained
|
||||
F: scripts/kernel-doc
|
||||
|
||||
DOCKING STATION DRIVER
|
||||
M: Shaohua Li <shaohua.li@intel.com>
|
||||
L: linux-acpi@vger.kernel.org
|
||||
|
|
|
@ -95,6 +95,9 @@ coccinelle () {
|
|||
$SPATCH -D report $FLAGS -sp_file $COCCI $OPT $OPTIONS -no_show_diff || \
|
||||
$SPATCH -D context $FLAGS -sp_file $COCCI $OPT $OPTIONS || \
|
||||
$SPATCH -D org $FLAGS -sp_file $COCCI $OPT $OPTIONS -no_show_diff || exit 1
|
||||
elif [ "$MODE" = "rep+ctxt" ] ; then
|
||||
$SPATCH -D report $FLAGS -sp_file $COCCI $OPT $OPTIONS -no_show_diff && \
|
||||
$SPATCH -D context $FLAGS -sp_file $COCCI $OPT $OPTIONS || exit 1
|
||||
else
|
||||
$SPATCH -D $MODE $FLAGS -sp_file $COCCI $OPT $OPTIONS || exit 1
|
||||
fi
|
||||
|
|
|
@ -30,6 +30,13 @@ expression ptr;
|
|||
- if (IS_ERR(ptr)) return PTR_ERR(ptr); return 0;
|
||||
+ return PTR_RET(ptr);
|
||||
|
||||
@depends on patch@
|
||||
expression ptr;
|
||||
@@
|
||||
|
||||
- (IS_ERR(ptr) ? PTR_ERR(ptr) : 0)
|
||||
+ PTR_RET(ptr)
|
||||
|
||||
@r1 depends on !patch@
|
||||
expression ptr;
|
||||
position p1;
|
||||
|
@ -44,6 +51,13 @@ position p2;
|
|||
|
||||
* if@p2 (IS_ERR(ptr)) return PTR_ERR(ptr); return 0;
|
||||
|
||||
@r3 depends on !patch@
|
||||
expression ptr;
|
||||
position p3;
|
||||
@@
|
||||
|
||||
* IS_ERR@p3(ptr) ? PTR_ERR(ptr) : 0
|
||||
|
||||
@script:python depends on org@
|
||||
p << r1.p1;
|
||||
@@
|
||||
|
@ -57,6 +71,12 @@ p << r2.p2;
|
|||
|
||||
coccilib.org.print_todo(p[0], "WARNING: PTR_RET can be used")
|
||||
|
||||
@script:python depends on org@
|
||||
p << r3.p3;
|
||||
@@
|
||||
|
||||
coccilib.org.print_todo(p[0], "WARNING: PTR_RET can be used")
|
||||
|
||||
@script:python depends on report@
|
||||
p << r1.p1;
|
||||
@@
|
||||
|
@ -68,3 +88,9 @@ p << r2.p2;
|
|||
@@
|
||||
|
||||
coccilib.report.print_report(p[0], "WARNING: PTR_RET can be used")
|
||||
|
||||
@script:python depends on report@
|
||||
p << r3.p3;
|
||||
@@
|
||||
|
||||
coccilib.report.print_report(p[0], "WARNING: PTR_RET can be used")
|
||||
|
|
|
@ -0,0 +1,65 @@
|
|||
/// PTR_ERR should access the value just tested by IS_ERR
|
||||
//# There can be false positives in the patch case, where it is the call
|
||||
//# IS_ERR that is wrong.
|
||||
///
|
||||
// Confidence: High
|
||||
// Copyright: (C) 2012 Julia Lawall, INRIA. GPLv2.
|
||||
// Copyright: (C) 2012 Gilles Muller, INRIA. GPLv2.
|
||||
// URL: http://coccinelle.lip6.fr/
|
||||
// Comments:
|
||||
// Options: -no_includes -include_headers
|
||||
|
||||
virtual patch
|
||||
virtual context
|
||||
virtual org
|
||||
virtual report
|
||||
|
||||
@depends on patch@
|
||||
expression e,e1;
|
||||
@@
|
||||
|
||||
(
|
||||
if (IS_ERR(e)) { ... PTR_ERR(e) ... }
|
||||
|
|
||||
if (IS_ERR(e=e1)) { ... PTR_ERR(e) ... }
|
||||
|
|
||||
if (IS_ERR(e))
|
||||
{ ...
|
||||
PTR_ERR(
|
||||
- e1
|
||||
+ e
|
||||
)
|
||||
... }
|
||||
)
|
||||
|
||||
@r depends on !patch@
|
||||
expression e,e1;
|
||||
position p1,p2;
|
||||
@@
|
||||
|
||||
(
|
||||
if (IS_ERR(e)) { ... PTR_ERR(e) ... }
|
||||
|
|
||||
if (IS_ERR(e=e1)) { ... PTR_ERR(e) ... }
|
||||
|
|
||||
*if (IS_ERR@p1(e))
|
||||
{ ...
|
||||
* PTR_ERR@p2(e1)
|
||||
... }
|
||||
)
|
||||
|
||||
@script:python depends on org@
|
||||
p1 << r.p1;
|
||||
p2 << r.p2;
|
||||
@@
|
||||
|
||||
cocci.print_main("inconsistent IS_ERR and PTR_ERR",p1)
|
||||
cocci.print_secs("PTR_ERR",p2)
|
||||
|
||||
@script:python depends on report@
|
||||
p1 << r.p1;
|
||||
p2 << r.p2;
|
||||
@@
|
||||
|
||||
msg = "inconsistent IS_ERR and PTR_ERR, PTR_ERR on line %s" % (p2[0].line)
|
||||
coccilib.report.print_report(p1[0],msg)
|
|
@ -6,6 +6,7 @@ use strict;
|
|||
## Copyright (C) 2000, 1 Tim Waugh <twaugh@redhat.com> ##
|
||||
## Copyright (C) 2001 Simon Huggins ##
|
||||
## Copyright (C) 2005-2012 Randy Dunlap ##
|
||||
## Copyright (C) 2012 Dan Luedtke ##
|
||||
## ##
|
||||
## #define enhancements by Armin Kuster <akuster@mvista.com> ##
|
||||
## Copyright (c) 2000 MontaVista Software, Inc. ##
|
||||
|
@ -35,6 +36,8 @@ use strict;
|
|||
# Small fixes (like spaces vs. \s in regex)
|
||||
# -- Tim Jansen <tim@tjansen.de>
|
||||
|
||||
# 25/07/2012 - Added support for HTML5
|
||||
# -- Dan Luedtke <mail@danrl.de>
|
||||
|
||||
#
|
||||
# This will read a 'c' file and scan for embedded comments in the
|
||||
|
@ -44,12 +47,16 @@ use strict;
|
|||
# Note: This only supports 'c'.
|
||||
|
||||
# usage:
|
||||
# kernel-doc [ -docbook | -html | -text | -man | -list ] [ -no-doc-sections ]
|
||||
# [ -function funcname [ -function funcname ...] ] c file(s)s > outputfile
|
||||
# kernel-doc [ -docbook | -html | -html5 | -text | -man | -list ]
|
||||
# [ -no-doc-sections ]
|
||||
# [ -function funcname [ -function funcname ...] ]
|
||||
# c file(s)s > outputfile
|
||||
# or
|
||||
# [ -nofunction funcname [ -function funcname ...] ] c file(s)s > outputfile
|
||||
# [ -nofunction funcname [ -function funcname ...] ]
|
||||
# c file(s)s > outputfile
|
||||
#
|
||||
# Set output format using one of -docbook -html -text or -man. Default is man.
|
||||
# Set output format using one of -docbook -html -html5 -text or -man.
|
||||
# Default is man.
|
||||
# The -list format is for internal use by docproc.
|
||||
#
|
||||
# -no-doc-sections
|
||||
|
@ -182,6 +189,14 @@ my $local_lt = "\\\\\\\\lt:";
|
|||
my $local_gt = "\\\\\\\\gt:";
|
||||
my $blankline_html = $local_lt . "p" . $local_gt; # was "<p>"
|
||||
|
||||
# html version 5
|
||||
my %highlights_html5 = ( $type_constant, "<span class=\"const\">\$1</span>",
|
||||
$type_func, "<span class=\"func\">\$1</span>",
|
||||
$type_struct_xml, "<span class=\"struct\">\$1</span>",
|
||||
$type_env, "<span class=\"env\">\$1</span>",
|
||||
$type_param, "<span class=\"param\">\$1</span>" );
|
||||
my $blankline_html5 = $local_lt . "br /" . $local_gt;
|
||||
|
||||
# XML, docbook format
|
||||
my %highlights_xml = ( "([^=])\\\"([^\\\"<]+)\\\"", "\$1<quote>\$2</quote>",
|
||||
$type_constant, "<constant>\$1</constant>",
|
||||
|
@ -311,6 +326,10 @@ while ($ARGV[0] =~ m/^-(.*)/) {
|
|||
$output_mode = "html";
|
||||
%highlights = %highlights_html;
|
||||
$blankline = $blankline_html;
|
||||
} elsif ($cmd eq "-html5") {
|
||||
$output_mode = "html5";
|
||||
%highlights = %highlights_html5;
|
||||
$blankline = $blankline_html5;
|
||||
} elsif ($cmd eq "-man") {
|
||||
$output_mode = "man";
|
||||
%highlights = %highlights_man;
|
||||
|
@ -353,10 +372,11 @@ while ($ARGV[0] =~ m/^-(.*)/) {
|
|||
# continue execution near EOF;
|
||||
|
||||
sub usage {
|
||||
print "Usage: $0 [ -v ] [ -docbook | -html | -text | -man | -list ]\n";
|
||||
print "Usage: $0 [ -docbook | -html | -html5 | -text | -man | -list ]\n";
|
||||
print " [ -no-doc-sections ]\n";
|
||||
print " [ -function funcname [ -function funcname ...] ]\n";
|
||||
print " [ -nofunction funcname [ -nofunction funcname ...] ]\n";
|
||||
print " [ -v ]\n";
|
||||
print " c source file(s) > outputfile\n";
|
||||
print " -v : verbose output, more warnings & other info listed\n";
|
||||
exit 1;
|
||||
|
@ -450,7 +470,8 @@ sub output_highlight {
|
|||
# confess "output_highlight got called with no args?\n";
|
||||
# }
|
||||
|
||||
if ($output_mode eq "html" || $output_mode eq "xml") {
|
||||
if ($output_mode eq "html" || $output_mode eq "html5" ||
|
||||
$output_mode eq "xml") {
|
||||
$contents = local_unescape($contents);
|
||||
# convert data read & converted thru xml_escape() into &xyz; format:
|
||||
$contents =~ s/\\\\\\/\&/g;
|
||||
|
@ -460,6 +481,11 @@ sub output_highlight {
|
|||
die $@ if $@;
|
||||
# print STDERR "contents af:$contents\n";
|
||||
|
||||
# strip whitespaces when generating html5
|
||||
if ($output_mode eq "html5") {
|
||||
$contents =~ s/^\s+//;
|
||||
$contents =~ s/\s+$//;
|
||||
}
|
||||
foreach $line (split "\n", $contents) {
|
||||
if (! $output_preformatted) {
|
||||
$line =~ s/^\s*//;
|
||||
|
@ -480,7 +506,7 @@ sub output_highlight {
|
|||
}
|
||||
}
|
||||
|
||||
#output sections in html
|
||||
# output sections in html
|
||||
sub output_section_html(%) {
|
||||
my %args = %{$_[0]};
|
||||
my $section;
|
||||
|
@ -640,6 +666,239 @@ sub output_blockhead_html(%) {
|
|||
print "<hr>\n";
|
||||
}
|
||||
|
||||
# output sections in html5
|
||||
sub output_section_html5(%) {
|
||||
my %args = %{$_[0]};
|
||||
my $section;
|
||||
|
||||
foreach $section (@{$args{'sectionlist'}}) {
|
||||
print "<section>\n";
|
||||
print "<h1>$section</h1>\n";
|
||||
print "<p>\n";
|
||||
output_highlight($args{'sections'}{$section});
|
||||
print "</p>\n";
|
||||
print "</section>\n";
|
||||
}
|
||||
}
|
||||
|
||||
# output enum in html5
|
||||
sub output_enum_html5(%) {
|
||||
my %args = %{$_[0]};
|
||||
my ($parameter);
|
||||
my $count;
|
||||
my $html5id;
|
||||
|
||||
$html5id = $args{'enum'};
|
||||
$html5id =~ s/[^a-zA-Z0-9\-]+/_/g;
|
||||
print "<article class=\"enum\" id=\"enum:". $html5id . "\">";
|
||||
print "<h1>enum " . $args{'enum'} . "</h1>\n";
|
||||
print "<ol class=\"code\">\n";
|
||||
print "<li>";
|
||||
print "<span class=\"keyword\">enum</span> ";
|
||||
print "<span class=\"identifier\">" . $args{'enum'} . "</span> {";
|
||||
print "</li>\n";
|
||||
$count = 0;
|
||||
foreach $parameter (@{$args{'parameterlist'}}) {
|
||||
print "<li class=\"indent\">";
|
||||
print "<span class=\"param\">" . $parameter . "</span>";
|
||||
if ($count != $#{$args{'parameterlist'}}) {
|
||||
$count++;
|
||||
print ",";
|
||||
}
|
||||
print "</li>\n";
|
||||
}
|
||||
print "<li>};</li>\n";
|
||||
print "</ol>\n";
|
||||
|
||||
print "<section>\n";
|
||||
print "<h1>Constants</h1>\n";
|
||||
print "<dl>\n";
|
||||
foreach $parameter (@{$args{'parameterlist'}}) {
|
||||
print "<dt>" . $parameter . "</dt>\n";
|
||||
print "<dd>";
|
||||
output_highlight($args{'parameterdescs'}{$parameter});
|
||||
print "</dd>\n";
|
||||
}
|
||||
print "</dl>\n";
|
||||
print "</section>\n";
|
||||
output_section_html5(@_);
|
||||
print "</article>\n";
|
||||
}
|
||||
|
||||
# output typedef in html5
|
||||
sub output_typedef_html5(%) {
|
||||
my %args = %{$_[0]};
|
||||
my ($parameter);
|
||||
my $count;
|
||||
my $html5id;
|
||||
|
||||
$html5id = $args{'typedef'};
|
||||
$html5id =~ s/[^a-zA-Z0-9\-]+/_/g;
|
||||
print "<article class=\"typedef\" id=\"typedef:" . $html5id . "\">\n";
|
||||
print "<h1>typedef " . $args{'typedef'} . "</h1>\n";
|
||||
|
||||
print "<ol class=\"code\">\n";
|
||||
print "<li>";
|
||||
print "<span class=\"keyword\">typedef</span> ";
|
||||
print "<span class=\"identifier\">" . $args{'typedef'} . "</span>";
|
||||
print "</li>\n";
|
||||
print "</ol>\n";
|
||||
output_section_html5(@_);
|
||||
print "</article>\n";
|
||||
}
|
||||
|
||||
# output struct in html5
|
||||
sub output_struct_html5(%) {
|
||||
my %args = %{$_[0]};
|
||||
my ($parameter);
|
||||
my $html5id;
|
||||
|
||||
$html5id = $args{'struct'};
|
||||
$html5id =~ s/[^a-zA-Z0-9\-]+/_/g;
|
||||
print "<article class=\"struct\" id=\"struct:" . $html5id . "\">\n";
|
||||
print "<hgroup>\n";
|
||||
print "<h1>" . $args{'type'} . " " . $args{'struct'} . "</h1>";
|
||||
print "<h2>". $args{'purpose'} . "</h2>\n";
|
||||
print "</hgroup>\n";
|
||||
print "<ol class=\"code\">\n";
|
||||
print "<li>";
|
||||
print "<span class=\"type\">" . $args{'type'} . "</span> ";
|
||||
print "<span class=\"identifier\">" . $args{'struct'} . "</span> {";
|
||||
print "</li>\n";
|
||||
foreach $parameter (@{$args{'parameterlist'}}) {
|
||||
print "<li class=\"indent\">";
|
||||
if ($parameter =~ /^#/) {
|
||||
print "<span class=\"param\">" . $parameter ."</span>\n";
|
||||
print "</li>\n";
|
||||
next;
|
||||
}
|
||||
my $parameter_name = $parameter;
|
||||
$parameter_name =~ s/\[.*//;
|
||||
|
||||
($args{'parameterdescs'}{$parameter_name} ne $undescribed) || next;
|
||||
$type = $args{'parametertypes'}{$parameter};
|
||||
if ($type =~ m/([^\(]*\(\*)\s*\)\s*\(([^\)]*)\)/) {
|
||||
# pointer-to-function
|
||||
print "<span class=\"type\">$1</span> ";
|
||||
print "<span class=\"param\">$parameter</span>";
|
||||
print "<span class=\"type\">)</span> ";
|
||||
print "(<span class=\"args\">$2</span>);";
|
||||
} elsif ($type =~ m/^(.*?)\s*(:.*)/) {
|
||||
# bitfield
|
||||
print "<span class=\"type\">$1</span> ";
|
||||
print "<span class=\"param\">$parameter</span>";
|
||||
print "<span class=\"bits\">$2</span>;";
|
||||
} else {
|
||||
print "<span class=\"type\">$type</span> ";
|
||||
print "<span class=\"param\">$parameter</span>;";
|
||||
}
|
||||
print "</li>\n";
|
||||
}
|
||||
print "<li>};</li>\n";
|
||||
print "</ol>\n";
|
||||
|
||||
print "<section>\n";
|
||||
print "<h1>Members</h1>\n";
|
||||
print "<dl>\n";
|
||||
foreach $parameter (@{$args{'parameterlist'}}) {
|
||||
($parameter =~ /^#/) && next;
|
||||
|
||||
my $parameter_name = $parameter;
|
||||
$parameter_name =~ s/\[.*//;
|
||||
|
||||
($args{'parameterdescs'}{$parameter_name} ne $undescribed) || next;
|
||||
print "<dt>" . $parameter . "</dt>\n";
|
||||
print "<dd>";
|
||||
output_highlight($args{'parameterdescs'}{$parameter_name});
|
||||
print "</dd>\n";
|
||||
}
|
||||
print "</dl>\n";
|
||||
print "</section>\n";
|
||||
output_section_html5(@_);
|
||||
print "</article>\n";
|
||||
}
|
||||
|
||||
# output function in html5
|
||||
sub output_function_html5(%) {
|
||||
my %args = %{$_[0]};
|
||||
my ($parameter, $section);
|
||||
my $count;
|
||||
my $html5id;
|
||||
|
||||
$html5id = $args{'function'};
|
||||
$html5id =~ s/[^a-zA-Z0-9\-]+/_/g;
|
||||
print "<article class=\"function\" id=\"func:". $html5id . "\">\n";
|
||||
print "<hgroup>\n";
|
||||
print "<h1>" . $args{'function'} . "</h1>";
|
||||
print "<h2>" . $args{'purpose'} . "</h2>\n";
|
||||
print "</hgroup>\n";
|
||||
print "<ol class=\"code\">\n";
|
||||
print "<li>";
|
||||
print "<span class=\"type\">" . $args{'functiontype'} . "</span> ";
|
||||
print "<span class=\"identifier\">" . $args{'function'} . "</span> (";
|
||||
print "</li>";
|
||||
$count = 0;
|
||||
foreach $parameter (@{$args{'parameterlist'}}) {
|
||||
print "<li class=\"indent\">";
|
||||
$type = $args{'parametertypes'}{$parameter};
|
||||
if ($type =~ m/([^\(]*\(\*)\s*\)\s*\(([^\)]*)\)/) {
|
||||
# pointer-to-function
|
||||
print "<span class=\"type\">$1</span> ";
|
||||
print "<span class=\"param\">$parameter</span>";
|
||||
print "<span class=\"type\">)</span> ";
|
||||
print "(<span class=\"args\">$2</span>)";
|
||||
} else {
|
||||
print "<span class=\"type\">$type</span> ";
|
||||
print "<span class=\"param\">$parameter</span>";
|
||||
}
|
||||
if ($count != $#{$args{'parameterlist'}}) {
|
||||
$count++;
|
||||
print ",";
|
||||
}
|
||||
print "</li>\n";
|
||||
}
|
||||
print "<li>)</li>\n";
|
||||
print "</ol>\n";
|
||||
|
||||
print "<section>\n";
|
||||
print "<h1>Arguments</h1>\n";
|
||||
print "<p>\n";
|
||||
print "<dl>\n";
|
||||
foreach $parameter (@{$args{'parameterlist'}}) {
|
||||
my $parameter_name = $parameter;
|
||||
$parameter_name =~ s/\[.*//;
|
||||
|
||||
($args{'parameterdescs'}{$parameter_name} ne $undescribed) || next;
|
||||
print "<dt>" . $parameter . "</dt>\n";
|
||||
print "<dd>";
|
||||
output_highlight($args{'parameterdescs'}{$parameter_name});
|
||||
print "</dd>\n";
|
||||
}
|
||||
print "</dl>\n";
|
||||
print "</section>\n";
|
||||
output_section_html5(@_);
|
||||
print "</article>\n";
|
||||
}
|
||||
|
||||
# output DOC: block header in html5
|
||||
sub output_blockhead_html5(%) {
|
||||
my %args = %{$_[0]};
|
||||
my ($parameter, $section);
|
||||
my $count;
|
||||
my $html5id;
|
||||
|
||||
foreach $section (@{$args{'sectionlist'}}) {
|
||||
$html5id = $section;
|
||||
$html5id =~ s/[^a-zA-Z0-9\-]+/_/g;
|
||||
print "<article class=\"doc\" id=\"doc:". $html5id . "\">\n";
|
||||
print "<h1>$section</h1>\n";
|
||||
print "<p>\n";
|
||||
output_highlight($args{'sections'}{$section});
|
||||
print "</p>\n";
|
||||
}
|
||||
print "</article>\n";
|
||||
}
|
||||
|
||||
sub output_section_xml(%) {
|
||||
my %args = %{$_[0]};
|
||||
my $section;
|
||||
|
|
|
@ -154,7 +154,9 @@ exuberant()
|
|||
--regex-c++='/__CLEARPAGEFLAG_NOOP\(([^,)]*).*/__ClearPage\1/' \
|
||||
--regex-c++='/TESTCLEARFLAG_FALSE\(([^,)]*).*/TestClearPage\1/' \
|
||||
--regex-c++='/__TESTCLEARFLAG_FALSE\(([^,)]*).*/__TestClearPage\1/' \
|
||||
--regex-c++='/_PE\(([^,)]*).*/PEVENT_ERRNO__\1/'
|
||||
--regex-c++='/_PE\(([^,)]*).*/PEVENT_ERRNO__\1/' \
|
||||
--regex-c='/PCI_OP_READ\(([a-z]*[a-z]).*[1-4]\)/pci_bus_read_config_\1/' \
|
||||
--regex-c='/PCI_OP_WRITE\(([a-z]*[a-z]).*[1-4]\)/pci_bus_write_config_\1/'
|
||||
|
||||
all_kconfigs | xargs $1 -a \
|
||||
--langdef=kconfig --language-force=kconfig \
|
||||
|
@ -197,7 +199,9 @@ emacs()
|
|||
--regex='/__CLEARPAGEFLAG_NOOP\(([^,)]*).*/__ClearPage\1/' \
|
||||
--regex='/TESTCLEARFLAG_FALSE\(([^,)]*).*/TestClearPage\1/' \
|
||||
--regex='/__TESTCLEARFLAG_FALSE\(([^,)]*).*/__TestClearPage\1/' \
|
||||
--regex='/_PE\(([^,)]*).*/PEVENT_ERRNO__\1/'
|
||||
--regex='/_PE\(([^,)]*).*/PEVENT_ERRNO__\1/' \
|
||||
--regex='/PCI_OP_READ\(([a-z]*[a-z]).*[1-4]\)/pci_bus_read_config_\1/' \
|
||||
--regex='/PCI_OP_WRITE\(([a-z]*[a-z]).*[1-4]\)/pci_bus_write_config_\1/'
|
||||
|
||||
all_kconfigs | xargs $1 -a \
|
||||
--regex='/^[ \t]*\(\(menu\)*config\)[ \t]+\([a-zA-Z0-9_]+\)/\3/'
|
||||
|
|
Loading…
Reference in New Issue