|  | #!/bin/bash | 
|  | # (c) 2017, Jonathan Corbet <corbet@lwn.net> | 
|  | #           sayli karnik <karniksayli1995@gmail.com> | 
|  | # | 
|  | # 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 | 
|  |  |