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

Reply via email to