Re: [PATCH v2] i2c: algo-bit: add support for I2C_M_STOP

2017-06-23 Thread Wolfram Sang

> > > + bit_dbg(3, _adap->dev,
> > > + "emitting enforced stop/start 
> > > condition\n");  
> > 
> 
> Go ahead, fine with me.

Did so and applied to for-next, thanks!



signature.asc
Description: PGP signature


Re: [PATCH v2] i2c: algo-bit: add support for I2C_M_STOP

2017-06-22 Thread Jean Delvare
On Wed, 21 Jun 2017 16:54:26 +0200, Wolfram Sang wrote:
> > +   if (msgs[i - 1].flags & I2C_M_STOP) {
> > +   bit_dbg(3, _adap->dev,
> > +   "emitting enforced stop 
> > condition\n");
> > +   i2c_stop(adap);
> > +   bit_dbg(3, _adap->dev,
> > +   "emitting start condition\n");  
> 
> Do you mind if I combine the two debug outputs into one?
> 
> > +   bit_dbg(3, _adap->dev,
> > +   "emitting enforced stop/start 
> > condition\n");  
> 

Go ahead, fine with me.

-- 
Jean Delvare
SUSE L3 Support


Re: [PATCH v2] i2c: algo-bit: add support for I2C_M_STOP

2017-06-21 Thread Wolfram Sang
> + if (msgs[i - 1].flags & I2C_M_STOP) {
> + bit_dbg(3, _adap->dev,
> + "emitting enforced stop 
> condition\n");
> + i2c_stop(adap);
> + bit_dbg(3, _adap->dev,
> + "emitting start condition\n");

Do you mind if I combine the two debug outputs into one?

> + bit_dbg(3, _adap->dev,
> + "emitting enforced stop/start 
> condition\n");



signature.asc
Description: PGP signature


[PATCH v2] i2c: algo-bit: add support for I2C_M_STOP

2017-06-21 Thread Jean Delvare
Support for enforced STOPs will allow us to use SCCB compatible devices.

Based on a preliminary patch by Wolfram Sang.

Signed-off-by: Jean Delvare 
Tested-by: Wolfram Sang 
---
Changes since v1:
 * Simplify logic

 drivers/i2c/algos/i2c-algo-bit.c |   15 ---
 1 file changed, 12 insertions(+), 3 deletions(-)

--- linux-4.11.orig/drivers/i2c/algos/i2c-algo-bit.c2017-06-19 
09:57:17.949074198 +0200
+++ linux-4.11/drivers/i2c/algos/i2c-algo-bit.c 2017-06-21 09:07:07.910049960 
+0200
@@ -553,9 +553,18 @@ static int bit_xfer(struct i2c_adapter *
nak_ok = pmsg->flags & I2C_M_IGNORE_NAK;
if (!(pmsg->flags & I2C_M_NOSTART)) {
if (i) {
-   bit_dbg(3, _adap->dev, "emitting "
-   "repeated start condition\n");
-   i2c_repstart(adap);
+   if (msgs[i - 1].flags & I2C_M_STOP) {
+   bit_dbg(3, _adap->dev,
+   "emitting enforced stop 
condition\n");
+   i2c_stop(adap);
+   bit_dbg(3, _adap->dev,
+   "emitting start condition\n");
+   i2c_start(adap);
+   } else {
+   bit_dbg(3, _adap->dev,
+   "emitting repeated start 
condition\n");
+   i2c_repstart(adap);
+   }
}
ret = bit_doAddress(i2c_adap, pmsg);
if ((ret != 0) && !nak_ok) {


-- 
Jean Delvare
SUSE L3 Support