diff options
Diffstat (limited to 'loader')
-rw-r--r-- | loader/loader.c | 17 | ||||
-rw-r--r-- | loader/loader.h | 2 |
2 files changed, 19 insertions, 0 deletions
diff --git a/loader/loader.c b/loader/loader.c index 6a7861251..f2f96739a 100644 --- a/loader/loader.c +++ b/loader/loader.c @@ -2996,6 +2996,22 @@ static int usbInitialize(moduleList modLoaded, moduleDeps modDeps, return 0; } +/* This loads the necessary parallel port drivers for printers so that + kudzu can autodetect and setup printers in post install*/ +static void initializeParallelPort(moduleList modLoaded, moduleDeps modDeps, + moduleInfoSet modInfo, int flags) { +#if !defined (__i386__) + return; +#endif + if (FL_NOPARPORT(flags)) return; + + logMessage("loading parallel port drivers..."); + if (mlLoadModuleSet("parport_pc", modLoaded, modDeps, modInfo, flags)) { + logMessage("failed to load parport_pc module"); + return; + } +} + /* This forces a pause between initializing usb and trusting the /proc stuff */ static void usbInitializeMouse(moduleList modLoaded, moduleDeps modDeps, @@ -3543,6 +3559,7 @@ int main(int argc, char ** argv) { mlLoadModuleSet("raid0:raid1:raid5:msdos:ext3:reiserfs:jfs:xfs:lvm-mod", modLoaded, modDeps, modInfo, flags); + initializeParallelPort(modLoaded, modDeps, modInfo, flags); usbInitializeMouse(modLoaded, modDeps, modInfo, flags); diff --git a/loader/loader.h b/loader/loader.h index 8f6523464..90b414618 100644 --- a/loader/loader.h +++ b/loader/loader.h @@ -28,6 +28,7 @@ #define LOADER_FLAGS_MEDIACHECK (1 << 22) #define LOADER_FLAGS_NOUSBSTORAGE (1 << 23) #define LOADER_FLAGS_ASKMETHOD (1 << 24) +#define LOADER_FLAGS_NOPARPORT (1 << 25) #define FL_TESTING(a) ((a) & LOADER_FLAGS_TESTING) #define FL_EXPERT(a) ((a) & LOADER_FLAGS_EXPERT) @@ -57,6 +58,7 @@ #define FL_MEDIACHECK(a) ((a) & LOADER_FLAGS_MEDIACHECK) #define FL_NOUSBSTORAGE(a) ((a) & LOADER_FLAGS_NOUSBSTORAGE) #define FL_ASKMETHOD(a) ((a) & LOADER_FLAGS_ASKMETHOD) +#define FL_NOPARPORT(a) ((a) & LOADER_FLAGS_NOPARPORT) #define CODE_PCMCIA 1 |