Mailing List archive

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

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



Uli Luckas writes:
 > Am Montag, 21. Juni 2004 01:08 schrieb Kenneth Aafløy:
 > > On Sunday 20 June 2004 19:45, Uli Luckas wrote:
 > > > 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.
 > > >
 > > > 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.
 > >
 > > Could not this be better handled by some binary identifyer for each
 > > cardtype? That is what it becomes after the string parsing at least.
 > >
 > Well, that would be nice. But as far as I understand the drivers are using the 
 > kernel I2C API where we don't pass any data directly to the frontend. The 
 > frontend is attached by the kernel which passes struct i2c_adapter.
 > This is why an existing field from i2c_adapter has to be abused here.

The new I2C code in the Convergence DVB driver seems to be based on
the I2C code in my driver tree but I have an additional call which 
gives the frontend more information about the card. 
Since I did not want to have the frontend driver having to know about 
all card types (you would have to rewrite the frontend drivers for each new
card), the card driver only gives hints about the wiring of the tuner 
on the card, e.g. if the inputs are inverted. You can of course 
do this differently (as in the Convergence driver) but you 
definitely do not have to use parts of the i2c_adapter struct.


Ralph








Home | Main Index | Thread Index