Re: [PATCH v2] I2C: busses: i2c-eg20t Do not print error message insyslog if no ACK received

From: Wolfram Sang
Date: Sun Nov 17 2013 - 12:08:56 EST


On Sun, Nov 17, 2013 at 05:53:29PM +0100, Andreas Werner wrote:
> On Sun, Nov 17, 2013 at 01:18:09PM +0100, Wolfram Sang wrote:
> >
> > > Is there another reason why pch_i2c_getack returned EPROTO?
> > > May be ENXIO was introduced later?
> >
> > Imperfect review :)
> >
> > > 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 ?
> >
> > The latter. As a rule of thumb, it is usually more sustainable to pass
> > through error codes. Overloading them should only be done when really
> > necessary IMO.
> >
> Ok, if that will be ok in pch_i2c_wait_for_check_xfer i will resend
> the patch.
>
> ret = pch_i2c_getack(adap);
>
> if (ret)
> pch_dbg(adap, "Receive NACK for slave address setting\n");
>
> return (int)ret;

Hmm, the cast looks ugly. Looking at the driver more closely, my
preferred solution would be to elimiate the getack function and just do
that directly in wait_for_check_xfer:

if (ioread32(adap->pch_base_address + PCH_I2CSR) & PCH_GETACK) {
pch_dbg ...
return -ENXIO;
}

Something like that...

Attachment: signature.asc
Description: Digital signature