X-Git-Url: https://git.kernelconcepts.de/?a=blobdiff_plain;f=scripts%2Fkernel-doc;h=0276d2b5eefe31218adf9475d1f263be6fe979bb;hb=a3847d63e9070a1803111c24859b68432e7d6f2d;hp=9a08fb5c1af640f1f65e5ae6a28cb8b95e6f0ad0;hpb=4f96dfc97367119e10219cd86cbf92c26b45c0ab;p=karo-tx-linux.git diff --git a/scripts/kernel-doc b/scripts/kernel-doc index 9a08fb5c1af6..0276d2b5eefe 100755 --- a/scripts/kernel-doc +++ b/scripts/kernel-doc @@ -1869,6 +1869,31 @@ sub dump_typedef($$) { my $file = shift; $x =~ s@/\*.*?\*/@@gos; # strip comments. + + # Parse function prototypes + if ($x =~ /typedef\s+(\w+)\s*\(\*\s*(\w\S+)\s*\)\s*\((.*)\);/) { + # Function typedefs + $return_type = $1; + $declaration_name = $2; + my $args = $3; + + create_parameterlist($args, ',', $file); + + output_declaration($declaration_name, + 'function', + {'function' => $declaration_name, + 'module' => $modulename, + 'functiontype' => $return_type, + 'parameterlist' => \@parameterlist, + 'parameterdescs' => \%parameterdescs, + 'parametertypes' => \%parametertypes, + 'sectionlist' => \@sectionlist, + 'sections' => \%sections, + 'purpose' => $declaration_purpose + }); + return; + } + while (($x =~ /\(*.\)\s*;$/) || ($x =~ /\[*.\]\s*;$/)) { $x =~ s/\(*.\)\s*;$/;/; $x =~ s/\[*.\]\s*;$/;/;