mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-26 13:44:15 +08:00
i2c-algo-bit: Return standard fault codes
Adjust i2c-algo-bit to return fault codes compliant with Documentation/i2c/fault-codes, rather than the undocumented and vague -EREMOTEIO. Signed-off-by: Jean Delvare <khali@linux-fr.org>
This commit is contained in:
parent
f6beb67d8e
commit
abc01b2718
@ -443,7 +443,7 @@ static int readbytes(struct i2c_adapter *i2c_adap, struct i2c_msg *msg)
|
||||
acknak(i2c_adap, 0);
|
||||
dev_err(&i2c_adap->dev, "readbytes: invalid "
|
||||
"block length (%d)\n", inval);
|
||||
return -EREMOTEIO;
|
||||
return -EPROTO;
|
||||
}
|
||||
/* The original count value accounts for the extra
|
||||
bytes, that is, either 1 for a regular transaction,
|
||||
@ -472,7 +472,7 @@ static int readbytes(struct i2c_adapter *i2c_adap, struct i2c_msg *msg)
|
||||
* reads, writes as well as 10bit-addresses.
|
||||
* returns:
|
||||
* 0 everything went okay, the chip ack'ed, or IGNORE_NAK flag was set
|
||||
* -x an error occurred (like: -EREMOTEIO if the device did not answer, or
|
||||
* -x an error occurred (like: -ENXIO if the device did not answer, or
|
||||
* -ETIMEDOUT, for example if the lines are stuck...)
|
||||
*/
|
||||
static int bit_doAddress(struct i2c_adapter *i2c_adap, struct i2c_msg *msg)
|
||||
@ -495,14 +495,14 @@ static int bit_doAddress(struct i2c_adapter *i2c_adap, struct i2c_msg *msg)
|
||||
if ((ret != 1) && !nak_ok) {
|
||||
dev_err(&i2c_adap->dev,
|
||||
"died at extended address code\n");
|
||||
return -EREMOTEIO;
|
||||
return -ENXIO;
|
||||
}
|
||||
/* the remaining 8 bit address */
|
||||
ret = i2c_outb(i2c_adap, msg->addr & 0x7f);
|
||||
if ((ret != 1) && !nak_ok) {
|
||||
/* the chip did not ack / xmission error occurred */
|
||||
dev_err(&i2c_adap->dev, "died at 2nd address code\n");
|
||||
return -EREMOTEIO;
|
||||
return -ENXIO;
|
||||
}
|
||||
if (flags & I2C_M_RD) {
|
||||
bit_dbg(3, &i2c_adap->dev, "emitting repeated "
|
||||
@ -514,7 +514,7 @@ static int bit_doAddress(struct i2c_adapter *i2c_adap, struct i2c_msg *msg)
|
||||
if ((ret != 1) && !nak_ok) {
|
||||
dev_err(&i2c_adap->dev,
|
||||
"died at repeated address code\n");
|
||||
return -EREMOTEIO;
|
||||
return -EIO;
|
||||
}
|
||||
}
|
||||
} else { /* normal 7bit address */
|
||||
@ -572,7 +572,7 @@ static int bit_xfer(struct i2c_adapter *i2c_adap,
|
||||
ret, ret == 1 ? "" : "s");
|
||||
if (ret < pmsg->len) {
|
||||
if (ret >= 0)
|
||||
ret = -EREMOTEIO;
|
||||
ret = -EIO;
|
||||
goto bailout;
|
||||
}
|
||||
} else {
|
||||
@ -583,7 +583,7 @@ static int bit_xfer(struct i2c_adapter *i2c_adap,
|
||||
ret, ret == 1 ? "" : "s");
|
||||
if (ret < pmsg->len) {
|
||||
if (ret >= 0)
|
||||
ret = -EREMOTEIO;
|
||||
ret = -EIO;
|
||||
goto bailout;
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user