diff -urN linux.orig/drivers/block/ide-probe.c linux/drivers/block/ide-probe.c --- linux.orig/drivers/block/ide-probe.c Sat Mar 16 16:59:11 2002 +++ linux/drivers/block/ide-probe.c Sat Mar 16 17:06:27 2002 @@ -1057,8 +1057,6 @@ } #ifdef MODULE -extern int (*ide_xlate_1024_hook)(kdev_t, int, int, const char *); - int init_module (void) { unsigned int index; @@ -1066,14 +1064,15 @@ for (index = 0; index < MAX_HWIFS; ++index) ide_unregister(index); ideprobe_init(); - create_proc_ide_interfaces(); - ide_xlate_1024_hook = ide_xlate_1024; +#ifdef CONFIG_PROC_FS + proc_ide_destroy(); /* Avoid multiple entry in /proc */ + proc_ide_create(); +#endif return 0; } void cleanup_module (void) { - ide_probe = NULL; - ide_xlate_1024_hook = 0; + ide_unregister_module(&ideprobe_module); } #endif /* MODULE */