Mailing List archive

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

[linux-dvb] Re: CX88 i2c issue w/ DVB tuners



On Friday 10 Sep 2004 13:10, Ralph Metzler wrote:
> Holger Waechtler writes:
>  > Andrew de Quincey wrote:
>  > > Yeah, that sounds good. So effectively the frontend drivers will cease
>  > > to be kernel i2c devices. However, we'll still use the kernel i2c for
>  > > the adapter's i2c buses if need be, so no one can complain we're
>  > > duplicating stuff again. That makes sense - theres no point really in
>  > > making the frontends generic devices usable by non-DVB code.
>  > >
>  > > How will we prevent things like that tda9887 tuner from taking over
>  > > our addresses on the bus accidentally if our bus is marked as ANALOGUE
>  > > and DIGITAL? We should probably claim addresses on the bus that we use
>  > > - but it all depends on what order things are loaded in.
>  >
>  > I would not claim any addresses, why should we? Even registration to the
>  > kernel i2c API is optional (and only introduces delays and the risk of
>  > accidentally attached devices from other subsystems).
>  >
>  > The generic i2c_read/write() implementations in the card drivers should
>  > allow writes to all addresses. If not we should fix them, we're
>  > maintaining them anyway. We also need to ensure they are correctly
>  > locking on the low level because we don't rely on the i2c layer locking
>  > mechanism anymore (but last time I checked most drivers implemented
>  > correct semaphores, so this should not really be a problem).
>  >
>  > If properly done both systems can existence peacefully in coexistence
>  > and concurrent accesses are allowed (like it was the case for the
>  > dvb_i2c_bus code).

Sorry! hit the wrong key before.

> And what exactly are the advantages of having these two systems for
> similar things again?
> You will again have a lot of code duplication with only minimal
> differences depending on the card type and necessary fixes
> (like the locking) to make it work with existing structures if
> you happen to need other i2c clients.

yeah, I don't like having multiple i2c implementations hitting the same bus. 
Thats why I would prefer to use the kernel i2c implementation where possible, 
since it handles locking and bitbanging (if necessary) for us.

> Getting rid of wrong attaches is easily done by introducing a
> client type field as I described before or just by getting an id range
> reserved in i2c-id.h as it is already done for sensors and V4L2 common
> components (is the latter used yet?).

We can't have an id per frontend - from what Holger described about the 
binary-only firmwares.

Isn't a client-type field the same as the clients testing the adapter type 
field to check that it meets what they expect? 





Home | Main Index | Thread Index