lkml.org 
[lkml]   [2003]   [Nov]   [23]   [last100]   RSS Feed
Views: [more markup]  [less markup]  [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
DateSun, 23 Nov 2003 15:08:06 -0200 (BRST)
FromMarcelo Tosatti <>
SubjectRe: modular IDE in 2.4.23


On Sun, 23 Nov 2003, Arkadiusz Miskiewicz wrote:

> On Sunday 23 of November 2003 01:54, Arkadiusz Miskiewicz wrote:
> > Could you give more specific hints how to fix ,,other stuff''?
> Did this in not the right way probably but it works fine for me (just modular 
> ide tested):
> 
> http://cvs.pld-linux.org/cgi-bin/cvsweb/SOURCES/linux-2.4.23-modular-ide.patch?rev=1.9
> 
> [misiek@arm ~]$ lsmod | grep ide
> ide-scsi                9904   0
> scsi_mod               93888   2 [sg ide-scsi]
> ide-cd                 30944   0
> cdrom                  29248   0 [ide-cd]
> ide-disk               16076  13
> ide-core              104504  13 [ide-scsi ide-cd ide-disk pdc202xx_new 
> via82cxxx]
> 
> Thanks for hint (now only cmd640 isse left for me).
> 
> > > Alan

Arkadiusz, 

I agree with you that modular IDE (I dont care that much about the 
cmd640 really) should work on 2.4.23.

I dont think the "ide-probe-mini" is required though. Just calling 
the ide-probe.o init functions from IDE init should work right?

Does the attached patch work for you (it moves ide-probe into ide-core, 
as Alan mentioned) ? 

diff -Naur -X /home/marcelo/lib/dontdiff linux-2.4.23-rc4/drivers/ide/Makefile linux-2.4.23-rc3/drivers/ide/Makefile
--- linux-2.4.23-rc4/drivers/ide/Makefile	2003-11-23 16:45:41.000000000 +0000
+++ linux-2.4.23-rc3/drivers/ide/Makefile	2003-11-23 16:29:04.000000000 +0000
@@ -9,7 +9,7 @@
 #
 
 
-export-objs := ide-iops.o ide-taskfile.o ide-proc.o ide.o ide-probe.o ide-dma.o ide-lib.o setup-pci.o ide-io.o ide-disk.o
+export-objs := ide-iops.o ide-taskfile.o ide-proc.o ide.o ide-dma.o ide-lib.o setup-pci.o ide-io.o ide-disk.o ide-probe.o
 
 all-subdirs	:= arm legacy pci ppc raid
 mod-subdirs	:= arm legacy pci ppc raid
@@ -28,8 +28,8 @@
 
 # Core IDE code - must come before legacy
 
-ide-core-objs	:= ide-iops.o ide-taskfile.o ide.o ide-lib.o ide-io.o ide-default.o ide-proc.o
-ide-detect-objs	:= ide-probe.o ide-geometry.o
+ide-core-objs	:= ide-iops.o ide-taskfile.o ide.o ide-lib.o ide-io.o ide-default.o ide-proc.o ide-probe.o
+ide-detect-objs	:= ide-geometry.o 
 
 
 ifeq ($(CONFIG_BLK_DEV_IDEPCI),y)
diff -Naur -X /home/marcelo/lib/dontdiff linux-2.4.23-rc4/drivers/ide/ide-probe.c linux-2.4.23-rc3/drivers/ide/ide-probe.c
--- linux-2.4.23-rc4/drivers/ide/ide-probe.c	2003-11-23 16:42:08.000000000 +0000
+++ linux-2.4.23-rc3/drivers/ide/ide-probe.c	2003-11-23 16:27:53.000000000 +0000
@@ -1416,7 +1416,7 @@
 #ifdef MODULE
 extern int (*ide_xlate_1024_hook)(kdev_t, int, int, const char *);
 
-int init_module (void)
+int ideprobe_init_module(void)
 {
 	unsigned int index;
 	
@@ -1428,10 +1428,14 @@
 	return 0;
 }
 
-void cleanup_module (void)
+void ideprobe_cleanup_module (void)
 {
 	ide_probe = NULL;
 	ide_xlate_1024_hook = 0;
 }
+
+EXPORT_SYMBOL(ideprobe_init_module);
+EXPORT_SYMBOL(ideprobe_cleanup_module);
 MODULE_LICENSE("GPL");
+
 #endif /* MODULE */
diff -Naur -X /home/marcelo/lib/dontdiff linux-2.4.23-rc4/drivers/ide/ide.c linux-2.4.23-rc3/drivers/ide/ide.c
--- linux-2.4.23-rc4/drivers/ide/ide.c	2003-11-23 16:46:51.000000000 +0000
+++ linux-2.4.23-rc3/drivers/ide/ide.c	2003-11-23 16:50:39.000000000 +0000
@@ -3059,6 +3059,7 @@
 
 int init_module (void)
 {
+	ideprobe_init_module();
 	parse_options(options);
 	return ide_init();
 }
@@ -3080,6 +3081,7 @@
 	proc_ide_destroy();
 #endif
 	devfs_unregister (ide_devfs_handle);
+	ideprobe_cleanup_module();
 }
 
 #else /* !MODULE */
diff -Naur -X /home/marcelo/lib/dontdiff linux-2.4.23-rc4/include/linux/ide.h linux-2.4.23-rc3/include/linux/ide.h
--- linux-2.4.23-rc4/include/linux/ide.h	2003-11-23 16:43:17.000000000 +0000
+++ linux-2.4.23-rc3/include/linux/ide.h	2003-11-23 16:29:30.000000000 +0000
@@ -1615,6 +1615,9 @@
 extern int idescsi_attach(ide_drive_t *);
 extern int idescsi_init(void);
 
+extern int ideprobe_init_module(void);
+extern void ideprobe_cleanup_module(void);
+
 extern void ide_scan_pcibus(int scan_direction) __init;
 extern int ide_pci_register_driver(struct pci_driver *driver);
 extern void ide_pci_unregister_driver(struct pci_driver *driver);

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

\
 
 \ /
  Last update: 2005-03-22 13:58    [from the cache]
©2003-2008