On Wed, 1 May 2013, Randy Dunlap wrote: > >>> When CONFIG_SND=m and CONFIG_SND_AC97_CODEC=m and > >>> CONFIG_VIDEO_STK1160=y > >>> CONFIG_VIDEO_STK1160_AC97=y > >>> > >>> drivers/built-in.o: In function `stk1160_ac97_register': > >>> (.text+0x122706): undefined reference to `snd_card_create' > >>> drivers/built-in.o: In function `stk1160_ac97_register': > >>> (.text+0x1227b2): undefined reference to `snd_ac97_bus' > >>> drivers/built-in.o: In function `stk1160_ac97_register': > >>> (.text+0x1227cd): undefined reference to `snd_card_free' > >>> drivers/built-in.o: In function `stk1160_ac97_register': > >>> (.text+0x12281b): undefined reference to `snd_ac97_mixer' > >>> drivers/built-in.o: In function `stk1160_ac97_register': > >>> (.text+0x122832): undefined reference to `snd_card_register' > >>> drivers/built-in.o: In function `stk1160_ac97_unregister': > >>> (.text+0x12285e): undefined reference to `snd_card_free' > >>> > >>> > >>> This kconfig fragment: > >>> config VIDEO_STK1160_AC97 > >>> bool "STK1160 AC97 codec support" > >>> depends on VIDEO_STK1160 && SND > > > > This doesn't depend on SND, it depends on SND=y. > > -- > > > Maybe this option *should* depend on SND=y, but that's not what the > kconfig syntax says. The kconfig language does not care if the variable is > a bool or a tristate when evaluating a depends expression AFAICT (but I am > only reading Documentation/kbuild/kconfig-language.txt, not the source code). > Doing "depends on SND=y" will only allow an option to be enabled if SND is builtin so the snd_card_* functions above will be defined (with your config we have a builtin function calling a module which may or may not be loaded). I think you've already addressed the snd_ac97_* functions, so the fix here should be relatively simple. Yann? -- To unsubscribe from this list: send the line "unsubscribe linux-kbuild" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html