2.1.73: IDE module problems (some patches included)

Henrik Storner (storner@image.dk)
Fri, 19 Dec 1997 23:35:50 +0100 (MET)


I've been trying out an all-modular 2.1.73 kernel.

Building the IDE driver as module fails for a couple of reasons:

1) ide-probe.c uses the ideprobe_init routine before it is declared.

--- drivers/block/ide-probe.c.orig Fri Dec 19 17:49:26 1997
+++ drivers/block/ide-probe.c Fri Dec 19 17:50:05 1997
@@ -674,6 +674,10 @@
return hwif->present;
}

+
+int ideprobe_init(void);
+
+
static ide_module_t ideprobe_module = {
IDE_PROBE_MODULE,
ideprobe_init,

2) ide.c needs the max_readahead symbol, but this isn't exported.
--- kernel/ksyms.c.orig Fri Dec 19 17:51:34 1997
+++ kernel/ksyms.c Fri Dec 19 17:52:24 1997
@@ -241,6 +241,7 @@
EXPORT_SYMBOL(efind_buffer);
EXPORT_SYMBOL(init_buffer);
EXPORT_SYMBOL(max_sectors);
+EXPORT_SYMBOL(max_readahead);

/* tty routines */
EXPORT_SYMBOL(tty_hangup);

3) The ide.o and ide-proc.o modules depend on each other; you cannot
load one before the other (catch-22). One solution is to link
these together statically with "ld -r -o ide_mod.o ide.o ide-proc.o"
and then install the ide_mod.o file instead of the two original
modules. Is that how it should be done ? The thing loads and works,
except that /proc/ide is empty.

-- 
Henrik Storner                               http://www.image.dk/~storner/ 
"The POP3 server service depends on the SMTP server service, which
 failed to start because of the following error:
 The operation completed successfully." -Windows NT Server v3.51