Re: [PATCH] make the registers of the stv0297 visible for other applications (e.g. i2cdump)

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

 



Trent Piepho wrote:
> On Fri, 18 May 2007, Johannes Stezenbach wrote:
>> Or you could propose a change to i2c-core to add
>> a I2C_M_STOP flag (analogous to I2C_M_NOSTART), which
>> then would have to be implemented by all i2c bus drivers.
> 
> It seems like this is the only way to send multiple stops in a single
> atomic transaction.  All drivers wouldn't have to implement it, just the
> ones where someone actually wants this ability.  Few drivers actually
> implement all of the existing i2c features.
> 

It is a big difference between the I2C_M_STOP and the I2C_M_NOSTART flag. I2C_M_NOSTART is a nice feature, which a
master may implement. If I look through the different implementations, it isn't defined exactly, what it means.
I2C_M_STOP is a must have for the master, if a slave is connected to the bus like the stv0297.

It isn't necessary, that I2C_M_STOP is implemented by the master itself. It is possible to implement it in i2ctransfer.
If the flag is set, each entry of the message array is send as a single request to the underlaying transfer function of
the master. Who should set this flag? It is only necessary for one driver or slave (stv0297), but the master (saa7146)
is used for many different drivers.

It is also possible, that the slave (stv0297) implements a wrapper function between i2ctransfer and the real transfer
function. Currently, I don't find a function or interface which can put a wrapper into the chain. The attach function
from stv0297 may delete the i2c-adapter, exchange the algo member from i2c_adapter and add the i2c_adapter again.

- Hartmut



_______________________________________________
linux-dvb mailing list
linux-dvb@xxxxxxxxxxx
http://www.linuxtv.org/cgi-bin/mailman/listinfo/linux-dvb

[Index of Archives]     [Linux Media]     [Video 4 Linux]     [Asterisk]     [Samba]     [Xorg]     [Xfree86]     [Linux USB]

  Powered by Linux