Mailing List archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[linux-dvb] Patch: current I2C trasnition broke KNC1 type cards



Hi,
the current CVS-tree is broken for KNC1 type cards. The modules load fine, but 
tuning to any channel does not get a lock.
This seems to be caused by the kernel I2C tarnsition recently done.
Frontends like stv0299 expect to find the exact card name in ((struct 
i2c_adapter *) adapter)->name in order to adjust card handling to specific 
differences.
The current code for saa7146 based cards unconditionally set this value to 
"saa7146 (*)" though.
The attached Patch fixes this by setteing the real card name in budget-core.c 
right after the structure is filled in with dvb_register_i2c_bus.

This aproach might need discussion, as I don't know, wether the actors behind 
the I2C transition had another way to do this in mind. Please let me know, if 
this was the way to go.

Uli

-- 
"After all, how do you give Microsoft the benefit of the doubt 
when you know that if you throw it into a room with truth, 
you'd risk a matter/anti-matter explosion." 
- N. Petreley 
Index: linux/drivers/media/dvb/ttpci/budget-core.c
===================================================================
RCS file: /cvs/linuxtv/dvb-kernel/linux/drivers/media/dvb/ttpci/budget-core.c,v
retrieving revision 1.19
diff -u -r1.19 budget-core.c
--- linux/drivers/media/dvb/ttpci/budget-core.c	13 Jun 2004 16:40:17 -0000	1.19
+++ linux/drivers/media/dvb/ttpci/budget-core.c	20 Jun 2004 17:42:13 -0000
@@ -332,6 +332,7 @@
 	budget->i2c_bus = dvb_register_i2c_bus (master_xfer, dev,
 						budget->dvb_adapter, 0);
 
+	strcpy(budget->i2c_adap.name, budget->card->name);
 	if (!budget->i2c_bus) {
 		dvb_unregister_adapter (budget->dvb_adapter);
 		return -ENOMEM;

Home | Main Index | Thread Index