Message ID | 20170621092402.773a4b14@endymion |
---|---|
State | Accepted |
Headers | show |
> + if (msgs[i - 1].flags & I2C_M_STOP) { > + bit_dbg(3, &i2c_adap->dev, > + "emitting enforced stop condition\n"); > + i2c_stop(adap); > + bit_dbg(3, &i2c_adap->dev, > + "emitting start condition\n"); Do you mind if I combine the two debug outputs into one? > + bit_dbg(3, &i2c_adap->dev, > + "emitting enforced stop/start condition\n");
On Wed, 21 Jun 2017 16:54:26 +0200, Wolfram Sang wrote: > > + if (msgs[i - 1].flags & I2C_M_STOP) { > > + bit_dbg(3, &i2c_adap->dev, > > + "emitting enforced stop condition\n"); > > + i2c_stop(adap); > > + bit_dbg(3, &i2c_adap->dev, > > + "emitting start condition\n"); > > Do you mind if I combine the two debug outputs into one? > > > + bit_dbg(3, &i2c_adap->dev, > > + "emitting enforced stop/start condition\n"); > Go ahead, fine with me.
> > > + bit_dbg(3, &i2c_adap->dev, > > > + "emitting enforced stop/start condition\n"); > > > > Go ahead, fine with me. Did so and applied to for-next, thanks!
--- linux-4.11.orig/drivers/i2c/algos/i2c-algo-bit.c 2017-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, &i2c_adap->dev, "emitting " - "repeated start condition\n"); - i2c_repstart(adap); + if (msgs[i - 1].flags & I2C_M_STOP) { + bit_dbg(3, &i2c_adap->dev, + "emitting enforced stop condition\n"); + i2c_stop(adap); + bit_dbg(3, &i2c_adap->dev, + "emitting start condition\n"); + i2c_start(adap); + } else { + bit_dbg(3, &i2c_adap->dev, + "emitting repeated start condition\n"); + i2c_repstart(adap); + } } ret = bit_doAddress(i2c_adap, pmsg); if ((ret != 0) && !nak_ok) {