Index: SOURCES/autoload.awk =================================================================== --- SOURCES/autoload.awk (revision 642211) +++ SOURCES/autoload.awk (working copy) @@ -3,6 +3,9 @@ # Based upon original script from Anssi Hannula: # +# TODO: investigate if this could be replaced with simple calls to +# udevadm trigger --attr-match=modalias=foo + BEGIN{ FS="=" @@ -24,15 +27,21 @@ } while ("udevadm info --export-db" | getline) { - if (! /^E: (DRIVER|MODALIAS)/) { continue } + if (! /^E: (PCI_CLASS|DRIVER|MODALIAS)/) { continue } # do not modprobe devices that already have a driver if (/^E: DRIVER=./) { skip=1; continue } - if (/^E: MODALIAS=/ && skip) { skip=0; continue } + if (/^E: PCI_CLASS=3....$/) { disp=1; continue } + if (/^E: MODALIAS=/ && skip) { skip=0; disp=0; continue } # modprobe existing device aliases ($2) provided by the given modules if (/^E: MODALIAS=/) for (modalias in modaliases) if ($2 ~ modalias) - system("modprobe --use-blacklist \""$2"\"") + if (disp) { + system("display_driver_helper --load-dkms-autoload \""ARGV[1]"\" \""$2"\"") + disp=0 + } else { + system("modprobe --use-blacklist \""$2"\"") + } } } Index: SPECS/dkms.spec =================================================================== --- SPECS/dkms.spec (revision 642211) +++ SPECS/dkms.spec (working copy) @@ -2,7 +2,7 @@ Name: dkms Version: 2.0.19 URL: http://linux.dell.com/dkms -Release: %mkrel 22 +Release: %mkrel 22.test.1 License: GPL Group: System/Base BuildArch: noarch