On Sat, 24 Mar 2007, Adrian Bunk wrote: > On Sat, Mar 24, 2007 at 02:49:42PM +0100, Armin Schindler wrote: > > On Sat, 24 Mar 2007, Adrian Bunk wrote: > > > Randy Dunlap reported in kernel Bugzilla #8241 the following compile > > > error with CONFIG_ISDN_CAPI=m, CONFIG_ISDN_DIVAS=y: > > > > > > <-- snip --> > > > > > > ... > > > WARNING: "DIVA_DIDD_Read" [drivers/isdn/hardware/eicon/divacapi.ko] > > > undefined! > > > WARNING: "DIVA_DIDD_Read" [drivers/isdn/hardware/eicon/diva_mnt.ko] > > > undefined! > > > WARNING: "DIVA_DIDD_Read" [drivers/isdn/hardware/eicon/diva_idi.ko] > > > undefined! > > > WARNING: "proc_net_eicon" [drivers/isdn/hardware/eicon/diva_idi.ko] > > > undefined! > > > make[1]: *** [__modpost] Error 1 > > > > > > <-- snip --> > > > > > > > > > Kconfig contains the following strange thing: > > > > > > menu "Active Eicon DIVA Server cards" > > > depends on NET && ISDN && ISDN_CAPI!=n > > > > > > > > > It seems that except for ISDN_DIVAS_DIVACAPI (that already has a proper > > > dependency), nothing here actually requires ISDN_CAPI? > > > > Not quite true. Yes, the base modules for the divas driver do not require > > ISDN_CAPI, but without ISDN_CAPI it doesn't make any sense. > > Let me try to understand this: > > Does it make sense to have CONFIG_ISDN_DIVAS=y, CONFIG_ISDN_CAPI=m?
Yes, this is possible. DIVAS itself does not depend on CAPI. > And do CONFIG_ISDN_DIVAS=y/m, CONFIG_ISDN_DIVAS_DIVACAPI=n > configurations make sense? Yes, but for only for experts who want to use the DIVAS own API without CAPI. > If not, what about: > - let ISDN_DIVAS depend on ISDN_CAPI and > - enable ISDN_DIVAS_DIVACAPI unconditionally (and perhaps even build > it into the divas module)? That would not be correct. > > The patch below (go into /hardware even for non ISDN_CAPI) is wrong. The > > subdir /hardware was created for new drivers using CAPI. So it is correct to > > go there when ISDN_CAPI != n only. > > > > I don't understand the warnings above. The symbols are exported by divas > > modules, so why is it causing warnings? There have been no change in the > > divas modules for this. Any change in the kernel module creation structure > > which may causing this? > > These aren't warnings, these are errors. > > Due to > obj-$(CONFIG_ISDN_CAPI) += hardware/ > > hardware/ isn't visited with CONFIG_ISDN_CAPI=m when building vmlinux. > > This means the modules were built, but the static code they were using > wasn't linkd into the kernel. > > This might not have occured before since CONFIG_ISDN_CAPI=m, > CONFIG_ISDN_DIVAS=y is an unusual configuration. I see. So for DIVAS the line obj-$(CONFIG_ISDN_CAPI) += hardware/ causes the trouble, because all hardware/ driver are meant to be CAPI drivers... In that case we should change hardware/eicon/ as you proposed: > - let ISDN_DIVAS depend on ISDN_CAPI and So the solution might be just to change menu "Active Eicon DIVA Server cards" depends on NET && ISDN && ISDN_CAPI!=n to menu "Active Eicon DIVA Server cards" depends on NET && ISDN && ISDN_CAPI in drivers/isdn/hardware/eicon/Kconfig right? Armin - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/