[patch] ide.c as a module

From: Daniel Tram Lux
Date: Thu Dec 11 2003 - 15:26:44 EST


Hi,

I needed the ide-subsytem as a module on 2.4.23 and noticed (due to the missing modprobe on the embedded linux system)
that ide.c tries to load the module ide-probe-mod which is called ide-detect now.
The patch also get's rid of the need for ide-probe-mini alias ide-detect, but I don't know if that is desired? (it was in my case).

Regards

Daniel Lux

P.S.
please c/c me for comments.

--- linux-2.4.23.org/drivers/ide/ide.c 2003-11-28 19:26:20.000000000 +0100
+++ linux-2.4.23/drivers/ide/ide.c 2004-03-11 20:31:51.000000000 +0100
@@ -514,11 +514,7 @@

void ide_probe_module (int revaldiate)
{
- if (!ide_probe) {
-#if defined(CONFIG_BLK_DEV_IDE_MODULE)
- (void) request_module("ide-probe-mod");
-#endif
- } else {
+ if (ide_probe) {
(void) ide_probe->init();
}
revalidate_drives(revaldiate);
@@ -3018,13 +3014,13 @@
banner_printed = 1;
}

+ initializing = 1;
init_ide_data();

#ifndef CLASSIC_BUILTINS_METHOD
ide_init_builtin_subdrivers();
#endif /* CLASSIC_BUILTINS_METHOD */

- initializing = 1;
ide_init_builtin_drivers();
initializing = 0;

@@ -3043,6 +3039,9 @@
MODULE_PARM(options,"s");
MODULE_LICENSE("GPL");

+extern int ideprobe_init_module();
+extern void ideprobe_cleanup_module (void);
+
static void __init parse_options (char *line)
{
char *next = line;
@@ -3059,14 +3058,19 @@

int init_module (void)
{
+ int res;
+
parse_options(options);
- return ide_init();
+ res = ide_init();
+ ideprobe_init_module();
+ return(res);
}

void cleanup_module (void)
{
int index;
-
+
+ ideprobe_cleanup_module();
unregister_reboot_notifier(&ide_notifier);
for (index = 0; index < MAX_HWIFS; ++index) {
ide_unregister(index);

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/