diff options
author | Erik Troan <ewt@redhat.com> | 2001-10-17 01:05:02 +0000 |
---|---|---|
committer | Erik Troan <ewt@redhat.com> | 2001-10-17 01:05:02 +0000 |
commit | 9433df5a14f77970c2268397358642136902ad14 (patch) | |
tree | 4d86f9365e0be331d2023e7172d3e1771c2d9be5 /loader/loader.c | |
parent | 2da50675d75deeace3fb62a2c0bc514a5c34c2be (diff) | |
download | anaconda-9433df5a14f77970c2268397358642136902ad14.tar.gz anaconda-9433df5a14f77970c2268397358642136902ad14.tar.xz anaconda-9433df5a14f77970c2268397358642136902ad14.zip |
load all detected modules at once
Diffstat (limited to 'loader/loader.c')
-rw-r--r-- | loader/loader.c | 29 |
1 files changed, 10 insertions, 19 deletions
diff --git a/loader/loader.c b/loader/loader.c index 10214b648..1603eec75 100644 --- a/loader/loader.c +++ b/loader/loader.c @@ -179,7 +179,7 @@ static int setupRamdisk(void) { return 0; } -static void startNewt(int flags) { +void startNewt(int flags) { if (!newtRunning) { newtInit(); newtCls(); @@ -412,6 +412,7 @@ int manualDeviceCheck(moduleInfoSet modInfo, moduleList modLoaded, int busProbe(moduleInfoSet modInfo, moduleList modLoaded, moduleDeps modDeps, int justProbe, struct knownDevices * kd, int flags) { int i; + char modules[1024]; struct moduleInfo ** modList; if (FL_NOPROBE(flags)) return 0; @@ -422,29 +423,19 @@ int busProbe(moduleInfoSet modInfo, moduleList modLoaded, moduleDeps modDeps, if (detectHardware(modInfo, &modList, flags)) { logMessage("failed to scan pci bus!"); return 0; + } else if (modList && justProbe) { + for (i = 0; modList[i]; i++) + if (modList[i]->major == DRIVER_NET) + printf("%s\n", modList[i]->moduleName); } else if (modList) { - logMessage("found devices justProbe is %d", justProbe); + *modules = '\0'; for (i = 0; modList[i]; i++) { - if (justProbe) { - printf("%s\n", modList[i]->moduleName); - } else { - if (modList[i]->major == DRIVER_NET) { - mlLoadModule(modList[i]->moduleName, - modLoaded, modDeps, NULL, modInfo, flags); - } - } + if (i) strcat(modules, ":"); + strcat(modules, modList[i]->moduleName); } - for (i = 0; !justProbe && modList[i]; i++) { - if (modList[i]->major == DRIVER_SCSI) { - startNewt(flags); - - mlLoadModule(modList[i]->moduleName, - modLoaded, modDeps, - NULL, modInfo, flags); - } - } + mlLoadModuleSet(modules, modLoaded, modDeps, NULL, modInfo, flags); kdFindScsiList(kd, 0); kdFindNetList(kd, 0); |