aboutsummaryrefslogtreecommitdiff
path: root/util/scripts/find-unused-kconfig-symbols.sh
diff options
context:
space:
mode:
authorPatrick Georgi <pgeorgi@chromium.org>2015-06-26 23:23:21 +0200
committerPatrick Georgi <pgeorgi@google.com>2015-06-30 08:24:38 +0200
commit327036998649c62e11b2fbb5779582c3554203e1 (patch)
tree8459d093436b20c8b0a7ad1710f199a4085aae11 /util/scripts/find-unused-kconfig-symbols.sh
parente1b832772d0096af8f7c61ab314fba69fb9ef2ba (diff)
util/scripts: add some support scripts
These scripts were bit-rotting on my box and may be useful for somebody else. no-fsf-addresses.sh removes various FSF addresses from license headers find-unused-kconfig-symbols.sh points out Kconfig variables that may be unused. There are some false positives, but it serves as a starting point. Change-Id: I8ddb5bea5fe87d39eed5f39f32077944b37d0665 Signed-off-by: Patrick Georgi <pgeorgi@chromium.org> Reviewed-on: http://review.coreboot.org/10675 Tested-by: build bot (Jenkins) Reviewed-by: Stefan Reinauer <stefan.reinauer@coreboot.org>
Diffstat (limited to 'util/scripts/find-unused-kconfig-symbols.sh')
-rwxr-xr-xutil/scripts/find-unused-kconfig-symbols.sh22
1 files changed, 22 insertions, 0 deletions
diff --git a/util/scripts/find-unused-kconfig-symbols.sh b/util/scripts/find-unused-kconfig-symbols.sh
new file mode 100755
index 0000000000..32240ec0d5
--- /dev/null
+++ b/util/scripts/find-unused-kconfig-symbols.sh
@@ -0,0 +1,22 @@
+#!/bin/sh
+# Copyright (c) 2015 Google Inc.
+#
+# Permission to use, copy, modify, and/or distribute this software for
+# any purpose with or without fee is hereby granted, provided that the
+# above copyright notice and this permission notice appear in all copies.
+#
+# THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL
+# WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES
+# OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
+# ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+# WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
+# ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
+# OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+
+# FIXME/NOTE: some false positives in dmp/vortex86ex
+KCONFIG_FILE_LIST=$(git ls-files |grep "/Kconfig$")
+for i in $(git grep -h "^config " $KCONFIG_FILE_LIST |cut -d' ' -f2 |sort -u); do
+ git grep -q "CONFIG_$i" || \
+ git grep -Eq "(depends on |select |default ).*$i" $KCONFIG_FILE_LIST || \
+ echo $i not found
+done | cat