forked from torvalds/linux
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
scripts: Add a script to find unused documentation
Add a script that finds files with kernel-doc comments for imported functions that are not included anywhere in documentation. Signed-off-by: sayli karnik <[email protected]> Signed-off-by: Jonathan Corbet <[email protected]>
- Loading branch information
1 parent
0d69423
commit 45653c8
Showing
1 changed file
with
62 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,62 @@ | ||
#!/bin/bash | ||
# (c) 2017, Jonathan Corbet <[email protected]> | ||
# sayli karnik <[email protected]> | ||
# | ||
# This script detects files with kernel-doc comments for exported functions | ||
# that are not included in documentation. | ||
# | ||
# usage: Run 'scripts/find-unused-docs.sh directory' from top level of kernel | ||
# tree. | ||
# | ||
# example: $scripts/find-unused-docs.sh drivers/scsi | ||
# | ||
# Licensed under the terms of the GNU GPL License | ||
|
||
if ! [ -d "Documentation" ]; then | ||
echo "Run from top level of kernel tree" | ||
exit 1 | ||
fi | ||
|
||
if [ "$#" -ne 1 ]; then | ||
echo "Usage: scripts/find-unused-docs.sh directory" | ||
exit 1 | ||
fi | ||
|
||
if ! [ -d "$1" ]; then | ||
echo "Directory $1 doesn't exist" | ||
exit 1 | ||
fi | ||
|
||
cd "$( dirname "${BASH_SOURCE[0]}" )" | ||
cd .. | ||
|
||
cd Documentation/ | ||
|
||
echo "The following files contain kerneldoc comments for exported functions \ | ||
that are not used in the formatted documentation" | ||
|
||
# FILES INCLUDED | ||
|
||
files_included=($(grep -rHR ".. kernel-doc" --include \*.rst | cut -d " " -f 3)) | ||
|
||
declare -A FILES_INCLUDED | ||
|
||
for each in "${files_included[@]}"; do | ||
FILES_INCLUDED[$each]="$each" | ||
done | ||
|
||
cd .. | ||
|
||
# FILES NOT INCLUDED | ||
|
||
for file in `find $1 -name '*.c'`; do | ||
|
||
if [[ ${FILES_INCLUDED[$file]+_} ]]; then | ||
continue; | ||
fi | ||
str=$(scripts/kernel-doc -text -export "$file" 2>/dev/null) | ||
if [[ -n "$str" ]]; then | ||
echo "$file" | ||
fi | ||
done | ||
|