On Sun, Nov 17, 2013 at 12:08:46PM +0100, Wolfram Sang wrote: > On Sun, Nov 17, 2013 at 09:58:51AM +0100, Andreas Werner wrote: > > Revision 2: > > - delete the pch_err completly instead of changing to pch_dbg > > because there is already a pch_dbg at the function who calls > > pch_i2c_getack. > > - Fixed message line issue > > I prefer this below "---" after Signed-off. Ok i will change it next time. > > > > > diff --git a/drivers/i2c/busses/i2c-eg20t.c b/drivers/i2c/busses/i2c-eg20t.c > > index 0f37529..5c39f90 100644 > > --- a/drivers/i2c/busses/i2c-eg20t.c > > +++ b/drivers/i2c/busses/i2c-eg20t.c > > @@ -321,10 +321,8 @@ static s32 pch_i2c_getack(struct i2c_algo_pch_data *adap) > > void __iomem *p = adap->pch_base_address; > > reg_val = ioread32(p + PCH_I2CSR) & PCH_GETACK; > > > > - if (reg_val != 0) { > > - pch_err(adap, "return%d\n", -EPROTO); > > + if (reg_val != 0) > > return -EPROTO; > > That could be fixed to -ENXIO according to > Documentation/i2c/fault-codes. Yes you are right -ENXIO should returned if no ACK was received. Is there another reason why pch_i2c_getack returned EPROTO? May be ENXIO was introduced later? > > > @@ -367,8 +365,7 @@ static int pch_i2c_wait_for_check_xfer(struct i2c_algo_pch_data *adap) > > adap->pch_event_flag = 0; > > > > if (pch_i2c_getack(adap)) { > > - pch_dbg(adap, "Receive NACK for slave address" > > - "setting\n"); > > + pch_dbg(adap, "Receive NACK for slave address setting\n"); > > return -EIO; > > What about returning the value we got from pch_i2c_getack? > EIO is almost ok, because EIO means something went wrong when performing an I/O operation, but yes we can return the value from pch_i2c_getack (ENXIO) to get more detailed informations whats going wrong exactly (no ACK reveiced). I think we can just replace the -EIO with -ENXIO or do you want to pick up the return vale of pch_i2c_getack and return that ? Regards Andy > Regards, > > Wolfram > -- 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