kernel-doc: unify all EXPORT_SYMBOL scanning to one place Scan all input files for EXPORT_SYMBOLs along with the explicitly specified export files before actually parsing anything. Signed-off-by: Jani Nikula <jani.nikula@intel.com>
diff --git a/scripts/kernel-doc b/scripts/kernel-doc index 9708a87..932b3f3 100755 --- a/scripts/kernel-doc +++ b/scripts/kernel-doc
@@ -61,10 +61,10 @@ Output selection (mutually exclusive): -export Only output documentation for symbols that have been exported using EXPORT_SYMBOL() or EXPORT_SYMBOL_GPL() - in the same FILE or any -export-file FILE. + in any input FILE or -export-file FILE. -internal Only output documentation for symbols that have NOT been exported using EXPORT_SYMBOL() or EXPORT_SYMBOL_GPL() - in the same FILE or any -export-file FILE. + in any input FILE or -export-file FILE. -function NAME Only output documentation for the given function(s) or DOC: section title(s). All other functions and DOC: sections are ignored. May be specified multiple times. @@ -2792,17 +2792,6 @@ return; } - # two passes for -export and -internal - if ($output_selection == OUTPUT_EXPORTED || - $output_selection == OUTPUT_INTERNAL) { - while (<IN>) { - if (/$export_symbol/o) { - $function_table{$2} = 1; - } - } - seek(IN, 0, 0); - } - $. = 1; $section_counter = 0; @@ -3110,6 +3099,9 @@ if ($output_selection == OUTPUT_EXPORTED || $output_selection == OUTPUT_INTERNAL) { + + push(@export_file_list, @ARGV); + foreach (@export_file_list) { chomp; process_export_file($_);