drive_info symbol not exported when IDE as a module

Jan Kees Joosse (jankees@dutepp7.et.tudelft.nl)
Wed, 5 Feb 1997 17:07:51 +0100 (MET)


Hi,

>From kernel version 2.1.23 I could not load the ide-probe module. The
error shown was something like: unknown symbol: drive_info.

Grepping through the patches did lead to these parts of ksyms.c from the
linux/kernel dir:

#if defined(CONFIG_BLK_DEV_IDE) || defined(CONFIG_BLK_DEV_HD)
extern struct drive_info_struct drive_info;
#endif

and

#if defined(CONFIG_BLK_DEV_IDE) || defined(CONFIG_BLK_DEV_HD)
EXPORT_SYMBOL(drive_info);
#endif

The two defines are not defined if the whole ide subsystem is compiled as
a module. (I did look in my .config !!) In my .config I saw the
definition of CONFIG_BLK_DEV_IDE_MODULE. So I appended this after the #if
line: || defined(CONFIG_BLK_DEV_IDE_MODULE)
And it works. I was not to suprised as the line changed from #ifdef
__i386__ or something similar to the above mentioned.

Sorry that I don't provide something like a patch or so as I'm not at
home now writing this message.

Good luck,

Jan Kees Joosse

Ps. Otherwise 2.1.25 works like a charm for me.