Patch to make 2.1.48's paralell port modules work with kerneld ("")
Tue, 05 Aug 1997 22:43:11 +0200

The new parport code involves a hardware specific parport_xx modules,
where xx names the platform. The lp module needs the presence of this
module, although it is not "dependant" on it according to depmod.
Because of this, kerneld can no longer automatically insert all
parport modules.

The following patch fixes this problem by adding a request_module
call to the the function used to enumerate all physical paralell
ports. A similar method has been used for the SCSI subsystem, which
uses a similar module structure as the new paralell port code ( both
low level host adapter drivers, and high level SCSI device drivers are
inserted on top of the generic middle lever SCSI modules).

To use the, add the following line to your /etc/conf.modules:

alias parport_lowlevel parport_pc



diff -ur 2.1.48/linux/drivers/misc/parport_share.c linux/drivers/misc/parport_share.c
--- 2.1.48/linux/drivers/misc/parport_share.c Tue Aug 5 22:02:07 1997
+++ linux/drivers/misc/parport_share.c Tue Aug 5 22:17:05 1997
@@ -19,6 +19,11 @@
#include <linux/kernel.h>
#include <linux/malloc.h>

+#include <linux/kerneld.h>

static struct parport *portlist = NULL, *portlist_tail = NULL;
@@ -27,6 +32,10 @@
/* Return a list of all the ports we know about. */
struct parport *parport_enumerate(void)
+ if (portlist == NULL)
+ request_module("parport_lowlevel");
return portlist;