Linux: Determine driver for a device
let us assume you want to determine which driver is behind a device. For example disk /dev/sdc
By udev. Query the device /dev/sdc by udevadm. Scroll down to the section for the pci device
root@devdeb ~# udevadm info -a -n /dev/sdc ..... looking at parent device '/devices/pci0000:00/0000:00:10.0': KERNELS=="0000:00:10.0" SUBSYSTEMS=="pci" DRIVERS=="mptspi" .....
or (the native way) by sysfs
root@devdeb ~# cd /sys/block/sdc root@devdeb ~# cd -P /sys/block/sdc/device /sys/devices/pci0000:00/0000:00:10.0/host2/target2:0:1/2:0:1:0
Go to the pci device
root@devdeb ~# cd /sys/devices/pci0000:00/0000:00:10.0 root@devdeb ~# ls -l driver lrwxrwxrwx 1 root root 0 Dec 22 09:14 driver -> ../../../bus/pci/drivers/mptspi