diff options
| author | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2020-11-23 08:21:37 +0100 |
|---|---|---|
| committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2020-11-23 08:21:37 +0100 |
| commit | 03c1136af504bbc2cabda76af6b27fd5f7cf8a7d (patch) | |
| tree | 6c53a0f635b4339571050006191a950e3f5db93c /scripts/kernel-doc | |
| parent | 0d79a48440f559ac939d1be2089757c5e4ab16c7 (diff) | |
| parent | 418baf2c28f3473039f2f7377760bd8f6897ae18 (diff) | |
| download | cachepc-linux-03c1136af504bbc2cabda76af6b27fd5f7cf8a7d.tar.gz cachepc-linux-03c1136af504bbc2cabda76af6b27fd5f7cf8a7d.zip | |
Merge 5.10-rc5 into staging-testing
We want the staging/IIO fixes in here as well.
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'scripts/kernel-doc')
| -rwxr-xr-x | scripts/kernel-doc | 21 |
1 files changed, 15 insertions, 6 deletions
diff --git a/scripts/kernel-doc b/scripts/kernel-doc index c8f6b11d5da1..f699cf05d409 100755 --- a/scripts/kernel-doc +++ b/scripts/kernel-doc @@ -1092,7 +1092,11 @@ sub output_struct_rst(%) { print "\n\n.. c:type:: " . $name . "\n\n"; } else { my $name = $args{'struct'}; - print "\n\n.. c:struct:: " . $name . "\n\n"; + if ($args{'type'} eq 'union') { + print "\n\n.. c:union:: " . $name . "\n\n"; + } else { + print "\n\n.. c:struct:: " . $name . "\n\n"; + } } print_lineno($declaration_start_line); $lineprefix = " "; @@ -1427,20 +1431,25 @@ sub dump_enum($$) { } } +my $typedef_type = qr { ((?:\s+[\w\*]+){1,8})\s* }x; +my $typedef_ident = qr { \*?\s*(\w\S+)\s* }x; +my $typedef_args = qr { \s*\((.*)\); }x; + +my $typedef1 = qr { typedef$typedef_type\($typedef_ident\)$typedef_args }x; +my $typedef2 = qr { typedef$typedef_type$typedef_ident$typedef_args }x; + sub dump_typedef($$) { my $x = shift; my $file = shift; $x =~ s@/\*.*?\*/@@gos; # strip comments. - # Parse function prototypes - if ($x =~ /typedef\s+(\w+)\s*\(\*\s*(\w\S+)\s*\)\s*\((.*)\);/ || - $x =~ /typedef\s+(\w+)\s*(\w\S+)\s*\s*\((.*)\);/) { - - # Function typedefs + # Parse function typedef prototypes + if ($x =~ $typedef1 || $x =~ $typedef2) { $return_type = $1; $declaration_name = $2; my $args = $3; + $return_type =~ s/^\s+//; create_parameterlist($args, ',', $file, $declaration_name); |
