Re: [v4l-dvb-maintainer] 2.6.19-rc1: DVB frontend selection causes compile errors

Michael Krufky
2006-10-09T08:27:49Z

Adrian Bunk wrote:
> On Mon, Oct 09, 2006 at 03:53:00AM -0400, Michael Krufky wrote:
>> Adrian Bunk wrote:
>>> The DVB frontend selection changes in 2.6.19-rc1 are giving me the
>>> following compile error:
>>>
>>> <-- snip -->
>>>
>>> ...
>>> LD .tmp_vmlinux1
>>> drivers/built-in.o: In function `dvb_init':
>>> saa7134-dvb.c:(.text+0x91d94): undefined reference to `tda10086_attach'
>>> saa7134-dvb.c:(.text+0x91db0): undefined reference to `tda826x_attach'
>>> make: *** [.tmp_vmlinux1] Error 1
>>>
>>> <-- snip -->
>>>
>>> .config attached.
>>>
>>> cu
>>> Adrian
>>
>> Adrian,
>
> Hi Michael,
>
>> Does this fix it for you?
>
> it does fix it with my .config, but
>
>> Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
>>
>> diff -r 7efa405e2d66 linux/drivers/media/dvb/frontends/tda10086.h
>> --- a/drivers/media/dvb/frontends/tda10086.h Fri Oct 06 17:12:00 2006 -0300
>> +++ b/drivers/media/dvb/frontends/tda10086.h Mon Oct 09 03:43:28 2006 -0400
>> @@ -35,7 +35,16 @@ struct tda10086_config
>> u8 invert;
>> };
>>
>> +#if defined(CONFIG_DVB_TDA10086) || defined(CONFIG_DVB_TDA10086_MODULE)
>> extern struct dvb_frontend* tda10086_attach(const struct tda10086_config* config,
>> struct i2c_adapter* i2c);
>> +#else
>> +static inline struct dvb_frontend* tda10086_attach(const struct tda10086_config* config,
>> + struct i2c_adapter* i2c)
>> +{
>> + printk(KERN_WARNING "%s: driver disabled by Kconfig\n", __FUNCTION__);
>> + return NULL;
>> +}
>> +#endif // CONFIG_DVB_TDA10086
>> ...
>
> this breaks with CONFIG_VIDEO_SAA7134_DVB=y, CONFIG_DVB_TDA1004X=m.
>
> #if defined(CONFIG_DVB_TDA10086) || (defined(CONFIG_DVB_TDA10086_MODULE) && defined(MODULE))
> might work, but the whole manual frontend selection IMHO looks a bit
> fragile.
>
> cu
> Adrian
>

That's never going to work -- If the card driver is build as y, then the frontend must also be built y...

Andrew, we need some Kconfig logic to prevent that case described by Adrian, above.

-Mike