From: Guenter Roeck Date: Sat, 10 Jul 2010 07:42:47 +0000 (+0200) Subject: i2c/mips: Fix error return codes from Sibyte i2c bus driver X-Git-Tag: v3.0~4269^2 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=102b59c6d6d30fb6560177fd1ae8a34c4c163897;p=platform%2Fkernel%2Flinux-amlogic.git i2c/mips: Fix error return codes from Sibyte i2c bus driver Sibyte i2c bus driver returns non-descriptive error values. Update to return error values as defined in Documentation/i2c/fault-codes. Signed-off-by: Guenter Roeck Signed-off-by: Jean Delvare --- diff --git a/drivers/i2c/busses/i2c-sibyte.c b/drivers/i2c/busses/i2c-sibyte.c index 3d76a18..0fe505d 100644 --- a/drivers/i2c/busses/i2c-sibyte.c +++ b/drivers/i2c/busses/i2c-sibyte.c @@ -94,7 +94,7 @@ static int smbus_xfer(struct i2c_adapter *i2c_adap, u16 addr, } break; default: - return -1; /* XXXKW better error code? */ + return -EOPNOTSUPP; } while (csr_in32(SMB_CSR(adap, R_SMB_STATUS)) & M_SMB_BUSY) @@ -104,7 +104,7 @@ static int smbus_xfer(struct i2c_adapter *i2c_adap, u16 addr, if (error & M_SMB_ERROR) { /* Clear error bit by writing a 1 */ csr_out32(M_SMB_ERROR, SMB_CSR(adap, R_SMB_STATUS)); - return -1; /* XXXKW better error code? */ + return (error & M_SMB_ERROR_TYPE) ? -EIO : -ENXIO; } if (data_bytes == 1)