SVN: geninitrd/trunk/mod-sata.sh

glen glen at pld-linux.org
Fri Feb 11 09:19:32 CET 2011


Author: glen
Date: Fri Feb 11 09:19:31 2011
New Revision: 12139

Modified:
   geninitrd/trunk/mod-sata.sh
Log:
switch to parsing in shell instead of awk

Modified: geninitrd/trunk/mod-sata.sh
==============================================================================
--- geninitrd/trunk/mod-sata.sh	(original)
+++ geninitrd/trunk/mod-sata.sh	Fri Feb 11 09:19:31 2011
@@ -28,7 +28,16 @@
 	fi
 
 	set -- $($lspci -n | awk -vclass=$class '$2 == class":" {split($3, p, ":"); printf("0x0000%s 0x0000%s\n", p[1], p[2])}')
-	awk -vvendor=$1 -vdevice=$2 '$2 == vendor && $3 == device {print $1}' $pcimap
+
+	local pci_module vendor device subvendor subdevice class class_mask driver_data
+	while read pci_module vendor device subvendor subdevice class class_mask driver_data; do
+		# vendor match is exact
+		[ "$1" = "$vendor" ] || continue
+		# device match is exact
+		[ "$2" = $device ] || continue
+
+		echo "$pci_module"
+	done < $pcimap
 }
 
 find_modules_sata() {


More information about the pld-cvs-commit mailing list