diff options
-rw-r--r-- | loader2/driverdisk.c | 18 | ||||
-rw-r--r-- | loader2/driverdisk.h | 3 | ||||
-rw-r--r-- | loader2/loader.c | 4 |
3 files changed, 23 insertions, 2 deletions
diff --git a/loader2/driverdisk.c b/loader2/driverdisk.c index c1e7c736e..a4c592087 100644 --- a/loader2/driverdisk.c +++ b/loader2/driverdisk.c @@ -39,6 +39,8 @@ static char * driverDiskFiles[] = { "modinfo", "modules.dep", "pcitable", "modules.cgz", "rhdd-6.1", NULL }; + + static int verifyDriverDisk(char *mntpt, int flags) { char ** fnPtr; char file[200]; @@ -322,4 +324,20 @@ int loadDriverFromMedia(int class, moduleList modLoaded, } +/* looping way to load driver disks */ +int loadDriverDisks(int class, moduleList modLoaded, + moduleDeps * modDepsPtr, moduleInfoSet modInfo, + struct knownDevices * kd, int flags) { + int rc; + loadDriverFromMedia(CLASS_UNSPEC, modLoaded, modDepsPtr, modInfo, + kd, flags, 1); + do { + rc = newtWinChoice(_("More Driver Disks?"), _("Yes"), _("No"), + _("Do you wish to load any more driver disks?")); + if (rc != 1) + break; + loadDriverFromMedia(CLASS_UNSPEC, modLoaded, modDepsPtr, modInfo, + kd, flags, 1); + } while (1); +} diff --git a/loader2/driverdisk.h b/loader2/driverdisk.h index 0d9af2cc7..b0f47a190 100644 --- a/loader2/driverdisk.h +++ b/loader2/driverdisk.h @@ -9,6 +9,9 @@ int loadDriverFromMedia(int class, moduleList modLoaded, moduleDeps * modDepsPtr, moduleInfoSet modInfo, struct knownDevices * kd, int flags, int usecancel); +int loadDriverDisks(int class, moduleList modLoaded, + moduleDeps * modDepsPtr, moduleInfoSet modInfo, + struct knownDevices * kd, int flags); int getRemovableDevices(char *** devNames); diff --git a/loader2/loader.c b/loader2/loader.c index 60cba757e..a48d971e1 100644 --- a/loader2/loader.c +++ b/loader2/loader.c @@ -923,8 +923,8 @@ int main(int argc, char ** argv) { access("/proc/iSeries", R_OK)) || FL_MODDISK(flags)) { startNewt(flags); - loadDriverFromMedia(CLASS_UNSPEC, modLoaded, &modDeps, - modInfo, &kd, flags, 1); + loadDriverDisks(CLASS_UNSPEC, modLoaded, &modDeps, + modInfo, &kd, flags); } busProbe(modInfo, modLoaded, modDeps, 0, &kd, flags); |