On Thu, Jun 14, 2012 at 04:11:14PM +0530, Shilimkar, Santosh wrote: > On Thu, Jun 14, 2012 at 3:50 PM, Felipe Balbi <balbi@xxxxxx> wrote: > > trivial patch, no functional changes. > > > > Signed-off-by: Felipe Balbi <balbi@xxxxxx> > > --- > > drivers/i2c/busses/i2c-omap.c | 63 ++++++++++++++++++++--------------------- > > 1 file changed, 31 insertions(+), 32 deletions(-) > > > > diff --git a/drivers/i2c/busses/i2c-omap.c b/drivers/i2c/busses/i2c-omap.c > > index 9b532cd..39d5583 100644 > > --- a/drivers/i2c/busses/i2c-omap.c > > +++ b/drivers/i2c/busses/i2c-omap.c > > @@ -856,22 +856,7 @@ complete: > > >> 8) & 0x3F; > > } > > while (num_bytes--) { > > - w = omap_i2c_read_reg(dev, OMAP_I2C_DATA_REG); > > - if (dev->buf_len) { > > - *dev->buf++ = w; > > - dev->buf_len--; > > - /* > > - * Data reg in 2430, omap3 and > > - * omap4 is 8 bit wide > > - */ > > - if (dev->flags & > > - OMAP_I2C_FLAG_16BIT_DATA_REG) { > > - if (dev->buf_len) { > > - *dev->buf++ = w >> 8; > > - dev->buf_len--; > > - } > > - } > > - } else { > > + if (!dev->buf_len) { > > if (stat & OMAP_I2C_STAT_RRDY) > > dev_err(dev->dev, > > "RRDY IRQ while no data" > > @@ -882,6 +867,21 @@ complete: > > " requested\n"); > > break; > > } > > + > > + w = omap_i2c_read_reg(dev, OMAP_I2C_DATA_REG); > > + *dev->buf++ = w; > > + dev->buf_len--; > > + /* > > + * Data reg in 2430, omap3 and > > + * omap4 is 8 bit wide > > + */ > > + if (dev->flags & > > + OMAP_I2C_FLAG_16BIT_DATA_REG) { > > + if (dev->buf_len) { > > + *dev->buf++ = w >> 8; > > + dev->buf_len--; > > + } > > + } > > } > > omap_i2c_ack_stat(dev, > > stat & (OMAP_I2C_STAT_RRDY | OMAP_I2C_STAT_RDR)); > > @@ -898,22 +898,7 @@ complete: > > & 0x3F; > > } > > while (num_bytes--) { > > - w = 0; > > - if (dev->buf_len) { > > - w = *dev->buf++; > > - dev->buf_len--; > > - /* > > - * Data reg in 2430, omap3 and > > - * omap4 is 8 bit wide > > - */ > > - if (dev->flags & > > - OMAP_I2C_FLAG_16BIT_DATA_REG) { > > - if (dev->buf_len) { > > - w |= *dev->buf++ << 8; > > - dev->buf_len--; > > - } > > - } > > - } else { > > + if (!dev->buf_len) { > > if (stat & OMAP_I2C_STAT_XRDY) > > dev_err(dev->dev, > > "XRDY IRQ while no " > > @@ -925,6 +910,20 @@ complete: > > break; > > } > > > > + w = *dev->buf++; > > + dev->buf_len--; > > + /* > > + * Data reg in 2430, omap3 and > > + * omap4 is 8 bit wide > > + */ > > + if (dev->flags & > > + OMAP_I2C_FLAG_16BIT_DATA_REG) { > > + if (dev->buf_len) { > > + w |= *dev->buf++ << 8; > > + dev->buf_len--; > > + } > > + } > > + > > if ((dev->errata & I2C_OMAP3_1P153) && > > errata_omap3_1p153(dev, &stat, &err)) > > goto complete; > > Avoids couple of if check and kills the un-necessary if/else inside the loop. > Did I miss anything else in the patch ? nope, that's about it ;-) -- balbi
Attachment:
signature.asc
Description: Digital signature