summaryrefslogtreecommitdiff
path: root/scripts
diff options
context:
space:
mode:
authorJani Nikula <jani.nikula@intel.com>2016-05-29 09:40:44 +0300
committerJani Nikula <jani.nikula@intel.com>2016-05-30 13:39:03 +0300
commit32217761ee9db0215350dfe1ca4e66f312fb8c54 (patch)
tree4beae235711cac4623ec1e8bf473df4a89c5be57 /scripts
parentf624adef3d0b9975076c1ba7549b81ed19e34437 (diff)
downloadlinux-32217761ee9db0215350dfe1ca4e66f312fb8c54.tar.xz
kernel-doc: concatenate contents of colliding sections
If there are multiple sections with the same section name, the current implementation results in several sections by the same heading, with the content duplicated from the last section to all. Even if there's the error message, a more graceful approach is to combine all the identically named sections into one, with concatenated contents. With the supported sections already limited to select few, there are massively fewer collisions than there used to be, but this is still useful for e.g. when function parameters are documented in the middle of a documentation comment, with description spread out above and below. (This is not a recommended documentation style, but used in the kernel nonetheless.) We can now also demote the error to a warning. Signed-off-by: Jani Nikula <jani.nikula@intel.com>
Diffstat (limited to 'scripts')
-rwxr-xr-xscripts/kernel-doc10
1 files changed, 6 insertions, 4 deletions
diff --git a/scripts/kernel-doc b/scripts/kernel-doc
index 20136564f264..3ac4b57ed76a 100755
--- a/scripts/kernel-doc
+++ b/scripts/kernel-doc
@@ -524,11 +524,13 @@ sub dump_section {
} else {
# print STDERR "other section '$name' = '$contents'\n";
if (defined($sections{$name}) && ($sections{$name} ne "")) {
- print STDERR "${file}:$.: error: duplicate section name '$name'\n";
- ++$errors;
+ print STDERR "${file}:$.: warning: duplicate section name '$name'\n";
+ ++$warnings;
+ $sections{$name} .= $contents;
+ } else {
+ $sections{$name} = $contents;
+ push @sectionlist, $name;
}
- $sections{$name} = $contents;
- push @sectionlist, $name;
}
}