Author: glen                         Date: Thu Dec 21 18:04:58 2006 GMT
Module: pci-database                  Tag: HEAD
---- Log message:
- script that displays pciid in pci-database format from modinfo of module alias

---- Files affected:
pci-database:
   pciid (NONE -> 1.1)  (NEW)

---- Diffs:

================================================================
Index: pci-database/pciid
diff -u /dev/null pci-database/pciid:1.1
--- /dev/null   Thu Dec 21 19:04:58 2006
+++ pci-database/pciid  Thu Dec 21 19:04:53 2006
@@ -0,0 +1,45 @@
+#!/bin/awk -f
+function m(s, r) {
+       if (match(s, r)) {
+               return substr(s, RSTART, RLENGTH)
+       }
+       return "";
+}
+
+BEGIN {
+       if (ARGC == 1) {
+               print "Usage:\npciid module"
+               exit 1
+       }
+       module = ARGV[1];
+
+       # modinfo -F alias nvidia | $0
+       cmd = sprintf("modinfo -F alias %s", module);
+       while (cmd | getline) {
+               v = d = "";
+
+               l = $1;
+               # l = pci:v00008086d00002668sv*sd*bc*sc*i*
+
+               vd = m($1, "pci:v[0-9A-F*]*d[0-9A-F*]*s");
+               # vd = pci:v00008086d00002668s
+
+               v = m(vd, "v[0-9A-F]*")
+               # v = v00008086
+
+               if (v) {
+                       v = tolower(m(v, "[0-9A-F][0-9A-F][0-9A-F][0-9A-F]$"));
+               }
+
+               d = m(vd, "d[0-9A-F]*")
+
+               # d = d00000371
+               if (d) {
+                       d = tolower(m(d, "[0-9A-F][0-9A-F][0-9A-F][0-9A-F]$"));
+               }
+
+               if (v && d) {
+                       printf("%s%s\n", v, d);
+               }
+       }
+}
================================================================
_______________________________________________
pld-cvs-commit mailing list
[email protected]
http://lists.pld-linux.org/mailman/listinfo/pld-cvs-commit

Reply via email to