Frans Pop wrote:
> +                     module=$(cd $address/driver/module; pwd -P | xargs 
> basename)

I'm concerned about the portability of pwd -P. /bin/pwd does not support
this, although all the major shells, including busybox sh, have builtins
that do support it.

Here's a patch that does the same thing, while avoiding the xargs, pwd -P,
and awk (and also the cd). I haven't tested it in d-i yet, but /sys should
be there, so it probably works.

-- 
see shy jo
Index: report-hw
===================================================================
--- report-hw   (revision 43888)
+++ report-hw   (working copy)
@@ -14,11 +14,29 @@
        fi
 }
 
+list_loaded_modules () {
+       cd /sys/bus/pci/devices
+       for address in *; do
+               if [ -d "$address/driver/module" ]; then
+                       module=$(basename "$(readlink $address/driver/module)")
+                       if grep -q "^$module " /proc/modules; then
+                               address=$(echo $address | sed s/0000://)
+                               echo "$(lspci -n -s $address | tail -n 1 | cut 
-d ' ' -f 3) $module"
+                       fi
+               fi
+       done
+}
+
 uname -a 2>&1 | addinfo "umame -a"
 
 if type lspci >/dev/null 2>&1; then
        lspci -nn  2>&1 | addinfo "lspci -nn"
        lspci -vnn 2>&1 | addinfo "lspci -vnn"
+
+       # List which modules are referring to which PCI devices
+       if [ -d /sys/bus/pci/devices ] ; then
+               list_loaded_modules | addinfo modulemap
+       fi
 else
        addfile /proc/pci
        addfile /proc/bus/pci/devices

Attachment: signature.asc
Description: Digital signature

Reply via email to