Distribution: Debian unstable Problem Description: Config tools allow to set CONFIG_I2C to 'm' and CONFIG_DVB_CX22700 to 'y', which causes a build failure at build time, since CX22700 DVB frontend uses i2c_transfer function, not available in kernel with such config. See http://bugs.debian.org/354325 for details. Steps to reproduce: tar jxf linux-2.6.15.6.tar.bz2 cd linux-2.6.15.6 make menuconfig Set "DVB Core Support" (CONFIG_DVB_CORE) to 'y' Set "Conexant CX22700 based" (CONFIG_DVB_CX22700) to 'y' Exit and save configuration. The .config now contains: CONFIG_I2C=m CONFIG_DVB_CORE=y CONFIG_DVB_CX22700=y make Build fails while linking the image with messages: drivers/built-in.o: In function `cx22700_writereg':cx22700.c(.text+0x5fdac): undefined reference to `i2c_transfer' drivers/built-in.o: In function `cx22700_writereg':cx22700.c(.text+0x5fe59): undefined reference to `i2c_transfer' make: *** [.tmp_vmlinux1] Error 1 I guess the dependencies of CONFIG_DVB_CX22700 have to be adjusted in such a way that it only allowed to be set to the same value as CONFIG_I2C.
Wouldn't be the right fix to add "&& I2C" in drivers/media/dvb/frontends/Kconfig:78?
A dependency could only solve half of the problem since DVB_CX22700 can be select'ed. Selecting I2C would be better. But the bigger issue seems to be that DVB_CX22700 isn't the only frontend affected by this issue.