From: Burkhard K. <bu...@bu...> - 2000-10-19 21:50:07
|
David Paschal > Based on John Chmielewski's message from September 13, it sounds like it > could be moved to (or possibly symlinked in) /lib/modules/misc, but there's > still the problem that modprobe doesn't detect that ieee12844pp.o depends > on parport_probe, not just parport and parport_pc. My idea was to add a > dummy function in ieee12844pp.c which never got called but which made a > reference to a function in parport_probe (for example, parport_probe()). > Since you're working on this code at the moment could you try this out and > let me know if it fixes the problem (or I can try it myself later). David, I have investigated that issue and to my surprise I found the following lines in drivers/misc/parport_share.c: /* Return a list of all the ports we know about. */ struct parport *parport_enumerate(void) { #ifdef CONFIG_KMOD if (portlist == NULL) { request_module("parport_lowlevel"); #ifdef CONFIG_PNP_PARPORT_MODULE request_module("parport_probe"); #endif /* CONFIG_PNP_PARPORT_MODULE */ } #endif /* CONFIG_KMOD */ return portlist; } Thus, if "Kernel module loader" in "Loadable Module Support" and "Auto-probe for parallel devices" in "Plug and Play support" are enabled parport_probe will be inserted by kmod automagically. (A lsmod listing should mark parport_probe as "autoclean"). I have tested this with all parport relevant lines in modules.conf commented out. After loading "parport.o" and "ieee12844.o" an insmod ieee12844pp.o loads "parport_pc.o" and "parport_probe.o" I also looked into parport_probe.o and found that it only contains a hook for the real probing function like "parport_probe_one". Under 2.4 the situation is handled by the "parport_register_driver" function which installs a lowlevel driver if not already present. Burkhard -- Burkhard Kohl bu...@bu... |