MCPcopy Create free account
hub / github.com/actuallyaridan/linux-devmgmt / moduleDriverInfo

Function moduleDriverInfo

src/scanner/SysfsScanner.cpp:272–316  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

270}
271
272DriverInfo moduleDriverInfo(const QString &moduleName) {
273 DriverInfo info;
274 if (moduleName.isEmpty() || moduleName == "(kernel)") {
275 info.version = kernelRelease();
276 return info;
277 }
278
279 ModinfoResult mi = queryModinfo(moduleName);
280
281 if (mi.filename == "(builtin)" || mi.filename.isEmpty()) {
282 info.version = mi.version.isEmpty() ? kernelRelease() : mi.version;
283 info.author = mi.author;
284 return info;
285 }
286
287 if (mi.filename.contains("/dkms/")) {
288 DriverInfo dkms = dkmsInfo(moduleName);
289 if (!dkms.version.isEmpty()) {
290 info.version = mi.version.isEmpty() ? dkms.version : mi.version;
291 info.date = dkms.date;
292 info.author = mi.author;
293 info.isDkms = true;
294 return info;
295 }
296 }
297
298 QString pkg = pkgOwnerOf(mi.filename);
299 if (!pkg.isEmpty()) {
300 PkgVersionDate pvd = queryPkgVersionDate(pkg);
301 info.version = mi.version.isEmpty()
302 ? (pvd.version.isEmpty() ? kernelRelease() : pvd.version)
303 : mi.version;
304 QString known = knownVersionDate(info.version);
305 info.date = known.isEmpty() ? pvd.date : known;
306 info.author = mi.author;
307 return info;
308 }
309
310 info.version = mi.version.isEmpty() ? kernelRelease() : mi.version;
311 info.author = mi.author;
312 QFileInfo fi(mi.filename);
313 if (fi.exists())
314 info.date = formatDate(fi.lastModified());
315 return info;
316}
317
318struct IdsDb {
319 QHash<QString, QString> vendors;

Callers 15

makePciDeviceFunction · 0.85
scanDisksFunction · 0.85
scanUsbDevicesFunction · 0.85
scanPortableDevicesFunction · 0.85
scanMonitorsFunction · 0.85
scanHidGenericFunction · 0.85
scanBluetoothFunction · 0.85
scanTpmFunction · 0.85
scanOpticalDrivesFunction · 0.85
scanSoundCardsFunction · 0.85
scanBatteriesFunction · 0.85
scanGameControllersFunction · 0.85

Calls 7

kernelReleaseFunction · 0.85
queryModinfoFunction · 0.85
dkmsInfoFunction · 0.85
pkgOwnerOfFunction · 0.85
queryPkgVersionDateFunction · 0.85
knownVersionDateFunction · 0.85
formatDateFunction · 0.85

Tested by

no test coverage detected