Hi Andy, On Thu, Jul 16, 2020 at 3:44 PM Andy Shevchenko <andy.shevchenko@xxxxxxxxx> wrote: > > On Thu, Jul 16, 2020 at 11:14 AM Rayagonda Kokatanur > <rayagonda.kokatanur@xxxxxxxxxxxx> wrote: > > > > Iproc supports PEC computation and checking in both Master > > and Slave mode. > > > > This patch adds support for PEC in slave mode. > > ... > > > -#define S_RX_PEC_ERR_SHIFT 29 > > +#define S_RX_PEC_ERR_SHIFT 28 > > +#define S_RX_PEC_ERR_MASK 0x3 > > +#define S_RX_PEC_ERR 0x1 > > This needs to be explained in the commit message, in particular why > this change makes no regression. I didn't get what do you mean by "no regression", please elaborate. > > ... > > > +static int bcm_iproc_smbus_check_slave_pec(struct bcm_iproc_i2c_dev *iproc_i2c, > > + u32 val) > > +{ > > + u8 err_status; > > > + int ret = 0; > > Completely redundant variable. > > > + if (!iproc_i2c->en_s_pec) > > + return ret; > > return 0; > > > + err_status = (u8)((val >> S_RX_PEC_ERR_SHIFT) & S_RX_PEC_ERR_MASK); > > Why casting? > > > + if (err_status == S_RX_PEC_ERR) { > > + dev_err(iproc_i2c->device, "Slave PEC error\n"); > > > + ret = -EBADMSG; > > return ... > > > + } > > + > > + return ret; > > return 0; > > > +} > > ... > > > + if (rx_status == I2C_SLAVE_RX_END) { > > + int ret; > > + > > + ret = bcm_iproc_smbus_check_slave_pec(iproc_i2c, > > + val); > > One line looks better. Yes, but to have 80 char per line, I have to do this. > > > + if (!ret) > > Why not positive conditional? Thank you for your review. Will fix all above. Best regards, Rayagonda > > > + i2c_slave_event(iproc_i2c->slave, > > + I2C_SLAVE_STOP, &value); > > + else > > + i2c_slave_event(iproc_i2c->slave, > > + I2C_SLAVE_PEC_ERR, > > + &value); > > + } > > -- > With Best Regards, > Andy Shevchenko