forked from Qortal/Brooklyn
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
62 lines
1.3 KiB
62 lines
1.3 KiB
#!/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 -export "$file" 2>/dev/null) |
|
if [[ -n "$str" ]]; then |
|
echo "$file" |
|
fi |
|
done |
|
|
|
|