Re: [patch] ide.c as a module

From: Bartlomiej Zolnierkiewicz
Date: Thu Dec 11 2003 - 16:24:19 EST



On Thursday 11 of December 2003 21:25, Daniel Tram Lux wrote:
> Hi,

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).

It is incorrect, it will make most of modules for PCI IDE chipsets fail
due to always calling ide_init() from ide.c:init_module().

You need to modprobe ide-detect if you are using generic IDE code
(no chipset specific driver - probably the case for your embedded system).

You are right that ide-probe-mini alias is not needed, ide-probe-mini.c should
be renamed to ide-detect.c (or ide-detect.o to ide-probe-mini.o).

> --- 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);

You should make this change in ide_register_hw() instead:

- ide_probe_module();
+#ifdef MODULE
+ if (ideprobe_init_module() == -EBUSY)
+#endif
+ ideprobe_init();

And get rid of ide_probe pointer.

--bart

-
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/