Author: stefanct
Date: Sat Mar  9 18:55:35 2013
New Revision: 1654
URL: http://flashrom.org/trac/flashrom/changeset/1654

Log:
Add utility to print all chip names in flashchips.h that are not in 
flashchips.c.

This allows to list yet unsupported chips easily.

First it tries to find the directory containing the files, then it uses sed to
extract the macro names of chips from flashchips.h, greps for them in
flashchips.c and prints it if it is not found.
If verbose mode is activated by giving at least one additional parameter
it prints the chip ID and comment following the macro definition too.

Signed-off-by: Stefan Tauner <[email protected]>
Acked-by: Stefan Tauner <[email protected]>

Added:
   trunk/util/list_yet_unsupported_chips.sh   (contents, props changed)

Added: trunk/util/list_yet_unsupported_chips.sh
==============================================================================
--- /dev/null   00:00:00 1970   (empty, because file is newly added)
+++ trunk/util/list_yet_unsupported_chips.sh    Sat Mar  9 18:55:35 2013        
(r1654)
@@ -0,0 +1,23 @@
+#!/bin/sh
+
+scriptname=$(readlink -f "$0") 2>/dev/null
+path=$(dirname "$scriptname")/.. 2>/dev/null
+if [ ! -e "$path/flashchips.c" -o ! -e "$path/flashchips.h" ]; then
+       echo "Warning: could not calculate flashchips.[ch]'s directory. Trying 
current..."
+       path="."
+       if [ ! -e "$path/flashchips.c" -o ! -e "$path/flashchips.h" ]; then
+               echo "Nope, sorry!"
+               exit 1
+       fi
+fi
+
+chips=$(sed -re '/#define [A-Z]/ !d' -e '/_ID\s/d' -e 
's/\s*#define\s+([[:alnum:]_]+)\s+.*/\1/' "$path/flashchips.h")
+for c in $chips ; do
+       if ! grep "$c" "$path/flashchips.c" >/dev/null ; then
+               if [ -n "$1" ]; then
+                       grep -o "$c.*" "$path/flashchips.h"
+               else
+                       echo "$c"
+               fi
+       fi
+done

_______________________________________________
flashrom mailing list
[email protected]
http://www.flashrom.org/mailman/listinfo/flashrom

Reply via email to