scripts/kernel-doc: Processing -nofunc for functions only
authorDanilo Cesar Lemes de Paula <danilo.cesar@collabora.co.uk>
Tue, 1 Sep 2015 17:44:14 +0000 (14:44 -0300)
committerJonathan Corbet <corbet@lwn.net>
Sun, 13 Sep 2015 20:38:50 +0000 (14:38 -0600)
Docproc processes the EXPORT_SYMBOL(f1) macro and uses -nofunc f1 to
avoid duplicated documentation in the next call.
It works for most of the cases, but there are some specific situations
where a struct has the same name of an already-exported function.

Current kernel-doc behavior ignores those structs and does not add them
to the final documentation. This patch fixes it.

This is unusual, the only case I've found is the drm_modeset_lock
(function and struct) defined in drm_modeset_lock.h and
drm_modeset_lock.c. Considering this, it should only affect the DRM
documentation by including struct drm_modeset_lock to the final Docbook.

Signed-off-by: Danilo Cesar Lemes de Paula <danilo.cesar@collabora.co.uk>
Signed-off-by: Jonathan Corbet <corbet@lwn.net>
scripts/kernel-doc

index 9a08fb5..532d8cd 100755 (executable)
@@ -1746,7 +1746,7 @@ sub output_declaration {
     my $func = "output_${functype}_$output_mode";
     if (($function_only==0) ||
        ( $function_only == 1 && defined($function_table{$name})) ||
-       ( $function_only == 2 && !defined($function_table{$name})))
+       ( $function_only == 2 && !($functype eq "function" && defined($function_table{$name}))))
     {
        &$func(@_);
        $section_counter++;