Messages in this thread |  | | Date | Wed, 5 Feb 1997 10:32:11 +0100 | From | Gerd Knorr <> | Subject | 2.1.25: Q re modular SCSI CD |
| |
In article <5d85dh$hen$1@duncodin.demon.co.uk>, you wrote: >I have SCSI CD compiled as a module, however the following symbols are >reported as not defined on trying to insert the module :- > >sr_mod.o: unresolved symbol register_cdrom >sr_mod.o: unresolved symbol unregister_cdrom >sr_mod.o: unresolved symbol cdrom_fops > >Looking at kernel/ksyms.c the following #if appears to prevent these being >added :- > > >#if defined(CONFIG_BLK_DEV_IDECD) || \ > defined(CONFIG_BLK_DEV_SR) || \ > defined(CONFIG_CM206) >EXPORT_SYMBOL(register_cdrom); >EXPORT_SYMBOL(unregister_cdrom); >EXPORT_SYMBOL(cdrom_fops); >#endif
This is ok. the scsi cdrom driver uses the generic cdrom driver (since 2.1.10 I think). These three symbols belong to the generic cdrom driver, And the driver gets compiled into only if one of the three cdrom drivers which support it are compiled in too.
Else you shoult get a cdrom.o module, and sr_mod should work fine after inserting this module. depmod shoult take care about this. Let me guess: You have the famous 2.1.25-depmod-Oops ??
Gerd
BTW: Is anywhere documented how this EXPORT_SYMBOL() works? Could we get rid of this ugly #if construct by moving these three lines to drivers/cdrom/cdrom.c (which is the generic cdrom driver) ?
-- l-w--w--w- 1 kraxel users 42 Jan 1 19:70 .signature <- /dev/null
|  |