cachepc-linux

Fork of AMDESE/linux with modifications for CachePC side-channel attack
git clone https://git.sinitax.com/sinitax/cachepc-linux
Log | Files | Refs | README | LICENSE | sfeed.txt

find-unused-docs.sh (1304B)


      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