linux/scripts/find-unused-docs.sh
<<
>>
Prefs
   1#!/bin/bash
   2# (c) 2017, Jonathan Corbet <corbet@lwn.net>
   3#           sayli karnik <karniksayli1995@gmail.com>
   4#
   5# This script detects files with kernel-doc comments for exported functions
   6# that are not included in documentation.
   7#
   8# usage: Run 'scripts/find-unused-docs.sh directory' from top level of kernel
   9#        tree.
  10#
  11# example: $scripts/find-unused-docs.sh drivers/scsi
  12#
  13# Licensed under the terms of the GNU GPL License
  14
  15if ! [ -d "Documentation" ]; then
  16        echo "Run from top level of kernel tree"
  17        exit 1
  18fi
  19
  20if [ "$#" -ne 1 ]; then
  21        echo "Usage: scripts/find-unused-docs.sh directory"
  22        exit 1
  23fi
  24
  25if ! [ -d "$1" ]; then
  26        echo "Directory $1 doesn't exist"
  27        exit 1
  28fi
  29
  30cd "$( dirname "${BASH_SOURCE[0]}" )"
  31cd ..
  32
  33cd Documentation/
  34
  35echo "The following files contain kerneldoc comments for exported functions \
  36that are not used in the formatted documentation"
  37
  38# FILES INCLUDED
  39
  40files_included=($(grep -rHR ".. kernel-doc" --include \*.rst | cut -d " " -f 3))
  41
  42declare -A FILES_INCLUDED
  43
  44for each in "${files_included[@]}"; do
  45        FILES_INCLUDED[$each]="$each"
  46        done
  47
  48cd ..
  49
  50# FILES NOT INCLUDED
  51
  52for file in `find $1 -name '*.c'`; do
  53
  54        if [[ ${FILES_INCLUDED[$file]+_} ]]; then
  55        continue;
  56        fi
  57        str=$(scripts/kernel-doc -export "$file" 2>/dev/null)
  58        if [[ -n "$str" ]]; then
  59        echo "$file"
  60        fi
  61        done
  62
  63