On 2016-04-28 22:50, Wolfram Sang wrote: > On Wed, Apr 20, 2016 at 05:17:56PM +0200, Peter Rosin wrote: >> Add i2c_lock_bus() and i2c_unlock_bus(), which call the new lock_bus and >> unlock_bus ops in the adapter. These funcs/ops take an additional flags >> argument that indicates for what purpose the adapter is locked. >> >> There are two flags, I2C_LOCK_ADAPTER and I2C_LOCK_SEGMENT, but they are >> both implemented the same. For now. Locking the adapter means that the >> whole bus is locked, locking the segment means that only the current bus >> segment is locked (i.e. i2c traffic on the parent side of mux is still >> allowed even if the child side of the mux is locked. >> >> Also support a trylock_bus op (but no function to call it, as it is not >> expected to be needed outside of the i2c core). >> >> Implement i2c_lock_adapter/i2c_unlock_adapter in terms of the new locking >> scheme (i.e. lock with the I2C_LOCK_ADAPTER flag). >> >> Annotate some of the locking with explicit I2C_LOCK_SEGMENT flags. >> >> Signed-off-by: Peter Rosin <peda@xxxxxxxxxx> > Letting you know that I start reviewing the 2nd part of your series. Did > the first glimpse today. Will hopefully do the in-depth part this > weekend. One thing already: > >> +static void i2c_adapter_lock_bus(struct i2c_adapter *adapter, int flags) > Shouldn't flags be unsigned? > Yes, obviously... I'll make that change locally and wait for the rest. Cheers, Peter -- To unsubscribe from this list: send the line "unsubscribe linux-i2c" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html