Re: [PATCH 08/18] V4L/DVB (4734): Tda826x: fix frontend selectionfor dvb_attach

From: Michael Krufky
Date: Sat Oct 14 2006 - 14:11:19 EST


Adrian Bunk wrote:
> On Sat, Oct 14, 2006 at 09:00:50AM -0300, mchehab@xxxxxxxxxxxxx wrote:
>> From: Michael Krufky <mkrufky@xxxxxxxxxxx>
>>
>> Signed-off-by: Michael Krufky <mkrufky@xxxxxxxxxxx>
>> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxx>
>> ---
>>
>> drivers/media/dvb/frontends/tda826x.h | 19 ++++++++++++++++---
>> 1 files changed, 16 insertions(+), 3 deletions(-)
>>
>> diff --git a/drivers/media/dvb/frontends/tda826x.h b/drivers/media/dvb/frontends/tda826x.h
>> index 3307607..83998c0 100644
>> --- a/drivers/media/dvb/frontends/tda826x.h
>> +++ b/drivers/media/dvb/frontends/tda826x.h
>> @@ -35,6 +35,19 @@ #include "dvb_frontend.h"
>> * @param has_loopthrough Set to 1 if the card has a loopthrough RF connector.
>> * @return FE pointer on success, NULL on failure.
>> */
>> -extern struct dvb_frontend *tda826x_attach(struct dvb_frontend *fe, int addr, struct i2c_adapter *i2c, int has_loopthrough);
>> -
>> -#endif
>> +#if defined(CONFIG_DVB_TDA826X) || defined(CONFIG_DVB_TDA826X_MODULE)
>> +extern struct dvb_frontend* tda826x_attach(struct dvb_frontend *fe, int addr,
>> + struct i2c_adapter *i2c,
>> + int has_loopthrough);
>> +#else
>> +static inline struct dvb_frontend* tda826x_attach(struct dvb_frontend *fe,
>> + int addr,
>> + struct i2c_adapter *i2c,
>> + int has_loopthrough)
>> +{
>> + printk(KERN_WARNING "%s: driver disabled by Kconfig\n", __FUNCTION__);
>> + return NULL;
>> +}
>> +#endif // CONFIG_DVB_TDA826X
>> +
>> +#endif // __DVB_TDA826X_H__
>
> This breaks with CONFIG_VIDEO_SAA7134_DVB=y, CONFIG_DVB_TDA826X=m.

Regardless, the patch must be applied. The above should only break with DVB_FE_CUSTOMIZE=Y ...

Turn off DVB_FE_CUSTOMIZE, and you will find that the above does NOT break. You can probably reproduce this 'broken' situation by setting any card driver = y, with the frontend = m ...

As stated in the prior thread, "CONFIG_VIDEO_SAA7134_DVB=y, CONFIG_DVB_TDA826X=m" is not the problem -- rather, "CONFIG_VIDEO_SAA7134_DVB=y, CONFIG_DVB_TDA826X=m, DVB_FE_CUSTOMIZE=Y" causes the breakage.

-Mike Krufky
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/