@@ -34,41 +34,41 @@ import (
3434
3535// NewDriverDiscoverer creates a discoverer for the libraries and binaries associated with a driver installation.
3636// The supplied NVML Library is used to query the expected driver version.
37- func NewDriverDiscoverer ( logger logger. Interface , driver * root. Driver , nvidiaCDIHookPath string , ldconfigPath string , nvmllib nvml. Interface ) (discover.Discover , error ) {
38- if r := nvmllib .Init (); r != nvml .SUCCESS {
37+ func ( l * nvmllib ) NewDriverDiscoverer ( ) (discover.Discover , error ) {
38+ if r := l . nvmllib .Init (); r != nvml .SUCCESS {
3939 return nil , fmt .Errorf ("failed to initialize NVML: %v" , r )
4040 }
4141 defer func () {
42- if r := nvmllib .Shutdown (); r != nvml .SUCCESS {
43- logger .Warningf ("failed to shutdown NVML: %v" , r )
42+ if r := l . nvmllib .Shutdown (); r != nvml .SUCCESS {
43+ l . logger .Warningf ("failed to shutdown NVML: %v" , r )
4444 }
4545 }()
4646
47- version , r := nvmllib .SystemGetDriverVersion ()
47+ version , r := l . nvmllib .SystemGetDriverVersion ()
4848 if r != nvml .SUCCESS {
4949 return nil , fmt .Errorf ("failed to determine driver version: %v" , r )
5050 }
5151
52- return newDriverVersionDiscoverer (logger , driver , nvidiaCDIHookPath , ldconfigPath , version )
52+ return ( * nvcdilib )( l ). newDriverVersionDiscoverer (version )
5353}
5454
55- func newDriverVersionDiscoverer ( logger logger. Interface , driver * root. Driver , nvidiaCDIHookPath , ldconfigPath , version string ) (discover.Discover , error ) {
56- libraries , err := NewDriverLibraryDiscoverer (logger , driver , nvidiaCDIHookPath , ldconfigPath , version )
55+ func ( l * nvcdilib ) newDriverVersionDiscoverer ( version string ) (discover.Discover , error ) {
56+ libraries , err := NewDriverLibraryDiscoverer (l . logger , l . driver , l . nvidiaCDIHookPath , l . ldconfigPath , version )
5757 if err != nil {
5858 return nil , fmt .Errorf ("failed to create discoverer for driver libraries: %v" , err )
5959 }
6060
61- ipcs , err := discover .NewIPCDiscoverer (logger , driver .Root )
61+ ipcs , err := discover .NewIPCDiscoverer (l . logger , l . driver .Root , l . optInFeatures [ "include-persistenced-socket" ] )
6262 if err != nil {
6363 return nil , fmt .Errorf ("failed to create discoverer for IPC sockets: %v" , err )
6464 }
6565
66- firmwares , err := NewDriverFirmwareDiscoverer (logger , driver .Root , version )
66+ firmwares , err := NewDriverFirmwareDiscoverer (l . logger , l . driver .Root , version )
6767 if err != nil {
6868 return nil , fmt .Errorf ("failed to create discoverer for GSP firmware: %v" , err )
6969 }
7070
71- binaries := NewDriverBinariesDiscoverer (logger , driver .Root )
71+ binaries := NewDriverBinariesDiscoverer (l . logger , l . driver .Root )
7272
7373 d := discover .Merge (
7474 libraries ,
0 commit comments