Bug 6179

Summary: Insufficient/incorrect dependencies for CONFIG_DVB_CX22700
Product: Drivers Reporter: Jurij Smakov (jurij)
Component: Video(Other)Assignee: Manu Abraham (manu)
Status: CLOSED PATCH_ALREADY_AVAILABLE    
Severity: low CC: bunk, diegocg
Priority: P2    
Hardware: i386   
OS: Linux   
Kernel Version: 2.6.15.6 Subsystem:
Regression: --- Bisected commit-id:

Description Jurij Smakov 2006-03-06 23:09:14 UTC
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.
Comment 1 Diego Calleja 2006-03-09 08:33:50 UTC
Wouldn't be the right fix to add "&& I2C" in drivers/media/dvb/frontends/Kconfig:78?
Comment 2 Adrian Bunk 2006-03-09 11:36:43 UTC
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.