X-Git-Url: http://git.rot13.org/?a=blobdiff_plain;f=scripts%2Fkernel-doc;h=8be269ffbf9d4f8159ca7a49a589f879a3d38583;hb=21b0ad4fb8306ac2bf5a249ffc978b1b8924c7d0;hp=f50a70f550b39b37566269d466eaebd33de50ea6;hpb=a7ec3f5289681e9d63b65db5f56857f998812b4b;p=powerpc.git
diff --git a/scripts/kernel-doc b/scripts/kernel-doc
index f50a70f550..8be269ffbf 100755
--- a/scripts/kernel-doc
+++ b/scripts/kernel-doc
@@ -83,7 +83,7 @@ use strict;
# * my_function
# **/
#
-# If the Description: header tag is ommitted, then there must be a blank line
+# If the Description: header tag is omitted, then there must be a blank line
# after the last parameter specification.
# e.g.
# /**
@@ -265,7 +265,7 @@ my $doc_start = '^/\*\*\s*$'; # Allow whitespace at end of comment start.
my $doc_end = '\*/';
my $doc_com = '\s*\*\s*';
my $doc_decl = $doc_com.'(\w+)';
-my $doc_sect = $doc_com.'(['.$doc_special.']?[\w ]+):(.*)';
+my $doc_sect = $doc_com.'(['.$doc_special.']?[\w\s]+):(.*)';
my $doc_content = $doc_com.'(.*)';
my $doc_block = $doc_com.'DOC:\s*(.*)?';
@@ -365,7 +365,7 @@ sub dump_section {
# parameterlist => @list of parameters
# parameterdescs => %parameter descriptions
# sectionlist => @list of sections
-# sections => %descriont descriptions
+# sections => %section descriptions
#
sub output_highlight {
@@ -452,7 +452,7 @@ sub output_struct_html(%) {
my %args = %{$_[0]};
my ($parameter);
- print "
".$args{'type'}." ".$args{'struct'}."
\n";
+ print "".$args{'type'}." ".$args{'struct'}. " - " .$args{'purpose'}."
\n";
print "".$args{'type'}." ".$args{'struct'}." {
\n";
foreach $parameter (@{$args{'parameterlist'}}) {
if ($parameter =~ /^#/) {
@@ -498,8 +498,8 @@ sub output_function_html(%) {
my %args = %{$_[0]};
my ($parameter, $section);
my $count;
- print "Function
\n";
+ print "" .$args{'function'}." - ".$args{'purpose'}."
\n";
print "".$args{'functiontype'}."\n";
print "".$args{'function'}."\n";
print "(";
@@ -583,14 +583,14 @@ sub output_function_xml(%) {
$id = "API-".$args{'function'};
$id =~ s/[^A-Za-z0-9]/-/g;
- print "\n";
+ print "\n";
print "\n";
print " LINUX\n";
print " Kernel Hackers Manual\n";
print " $man_date\n";
print "\n";
print "\n";
- print " ".$args{'function'}."\n";
+ print " ".$args{'function'}."\n";
print " 9\n";
print "\n";
print "\n";
@@ -659,14 +659,14 @@ sub output_struct_xml(%) {
$id = "API-struct-".$args{'struct'};
$id =~ s/[^A-Za-z0-9]/-/g;
- print "\n";
+ print "\n";
print "\n";
print " LINUX\n";
print " Kernel Hackers Manual\n";
print " $man_date\n";
print "\n";
print "\n";
- print " ".$args{'type'}." ".$args{'struct'}."\n";
+ print " ".$args{'type'}." ".$args{'struct'}."\n";
print " 9\n";
print "\n";
print "\n";
@@ -743,14 +743,14 @@ sub output_enum_xml(%) {
$id = "API-enum-".$args{'enum'};
$id =~ s/[^A-Za-z0-9]/-/g;
- print "\n";
+ print "\n";
print "\n";
print " LINUX\n";
print " Kernel Hackers Manual\n";
print " $man_date\n";
print "\n";
print "\n";
- print " enum ".$args{'enum'}."\n";
+ print " enum ".$args{'enum'}."\n";
print " 9\n";
print "\n";
print "\n";
@@ -809,14 +809,14 @@ sub output_typedef_xml(%) {
$id = "API-typedef-".$args{'typedef'};
$id =~ s/[^A-Za-z0-9]/-/g;
- print "\n";
+ print "\n";
print "\n";
print " LINUX\n";
print " Kernel Hackers Manual\n";
print " $man_date\n";
print "\n";
print "\n";
- print " typedef ".$args{'typedef'}."\n";
+ print " typedef ".$args{'typedef'}."\n";
print " 9\n";
print "\n";
print "\n";
@@ -953,7 +953,11 @@ sub output_function_man(%) {
print $args{'function'}." \\- ".$args{'purpose'}."\n";
print ".SH SYNOPSIS\n";
- print ".B \"".$args{'functiontype'}."\" ".$args{'function'}."\n";
+ if ($args{'functiontype'} ne "") {
+ print ".B \"".$args{'functiontype'}."\" ".$args{'function'}."\n";
+ } else {
+ print ".B \"".$args{'function'}."\n";
+ }
$count = 0;
my $parenth = "(";
my $post = ",";
@@ -1118,13 +1122,19 @@ sub output_intro_man(%) {
sub output_function_text(%) {
my %args = %{$_[0]};
my ($parameter, $section);
+ my $start;
print "Name:\n\n";
print $args{'function'}." - ".$args{'purpose'}."\n";
print "\nSynopsis:\n\n";
- my $start=$args{'functiontype'}." ".$args{'function'}." (";
+ if ($args{'functiontype'} ne "") {
+ $start = $args{'functiontype'}." ".$args{'function'}." (";
+ } else {
+ $start = $args{'function'}." (";
+ }
print $start;
+
my $count = 0;
foreach my $parameter (@{$args{'parameterlist'}}) {
$type = $args{'parametertypes'}{$parameter};
@@ -1433,7 +1443,7 @@ sub create_parameterlist($$$) {
} elsif ($arg =~ m/\(.*\*/) {
# pointer-to-function
$arg =~ tr/#/,/;
- $arg =~ m/[^\(]+\(\*([^\)]+)\)/;
+ $arg =~ m/[^\(]+\(\*\s*([^\)]+)\)/;
$param = $1;
$type = $arg;
$type =~ s/([^\(]+\(\*)$param/$1/;
@@ -1536,8 +1546,8 @@ sub dump_function($$) {
$prototype =~ s/^__always_inline +//;
$prototype =~ s/^noinline +//;
$prototype =~ s/__devinit +//;
- $prototype =~ s/^#define +//; #ak added
- $prototype =~ s/__attribute__ \(\([a-z,]*\)\)//;
+ $prototype =~ s/^#define\s+//; #ak added
+ $prototype =~ s/__attribute__\s*\(\([a-z,]*\)\)//;
# Yes, this truly is vile. We are looking for:
# 1. Return type (may be nothing if we're looking at a macro)
@@ -1570,7 +1580,8 @@ sub dump_function($$) {
$prototype =~ m/^(\w+\s+\w+\s+\w+)\s+([a-zA-Z0-9_~:]+)\s*\(([^\{]*)\)/ ||
$prototype =~ m/^(\w+\s+\w+\s+\w+\s*\*)\s*([a-zA-Z0-9_~:]+)\s*\(([^\{]*)\)/ ||
$prototype =~ m/^(\w+\s+\w+\s+\w+\s+\w+)\s+([a-zA-Z0-9_~:]+)\s*\(([^\{]*)\)/ ||
- $prototype =~ m/^(\w+\s+\w+\s+\w+\s+\w+\s*\*)\s*([a-zA-Z0-9_~:]+)\s*\(([^\{]*)\)/) {
+ $prototype =~ m/^(\w+\s+\w+\s+\w+\s+\w+\s*\*)\s*([a-zA-Z0-9_~:]+)\s*\(([^\{]*)\)/ ||
+ $prototype =~ m/^(\w+\s+\w+\s*\*\s*\w+\s*\*\s*)\s*([a-zA-Z0-9_~:]+)\s*\(([^\{]*)\)/) {
$return_type = $1;
$declaration_name = $2;
my $args = $3;
@@ -1710,6 +1721,7 @@ sub process_file($) {
my $file;
my $identifier;
my $func;
+ my $descr;
my $initial_section_counter = $section_counter;
if (defined($ENV{'SRCTREE'})) {
@@ -1753,7 +1765,12 @@ sub process_file($) {
$state = 2;
if (/-(.*)/) {
- $declaration_purpose = xml_escape($1);
+ # strip leading/trailing/multiple spaces #RDD:T:
+ $descr= $1;
+ $descr =~ s/^\s*//;
+ $descr =~ s/\s*$//;
+ $descr =~ s/\s+/ /;
+ $declaration_purpose = xml_escape($descr);
} else {
$declaration_purpose = "";
}