Hello. On 05/09/2014 01:32 PM, Ben Dooks wrote:
The i2c-rcar driver currently prints an error message if the master_xfer callback fails. However if the bus is being probed then lots of NAKs will be generated, causing the output of a number of errors printed.
To solve this, disable the print if the error is not -EREMOTEIO.
An example of running i2cdetect:
10: i2c-rcar e6530000.i2c: error -121 : 15 -- i2c-rcar e6530000.i2c: error -121 : 15 -- 12 i2c-rcar e6530000.i2c: error -121 : 15 -- i2c-rcar e6530000.i2c: error -121 : 15 -- i2c-rcar e6530000.i2c: error -121 : 15 -- i2c-rcar e6530000.i2c: error -121 : 15 -- i2c-rcar e6530000.i2c: error -121 : 15 -- i2c-rcar e6530000.i2c: error -121 : 15
Cc: Simon Horman <horms+renesas@xxxxxxxxxxxx> Cc: Wolfram Sang <wsa@xxxxxxxxxxxxx> Cc: linux-i2c@xxxxxxxxxxxxxxx Cc: linux-sh@xxxxxxxxxxxxxxx Signed-off-by: Ben Dooks <ben.dooks@xxxxxxxxxxxxxxx> --- drivers/i2c/busses/i2c-rcar.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/i2c/busses/i2c-rcar.c b/drivers/i2c/busses/i2c-rcar.c index 2c2fd7c..0d25104 100644 --- a/drivers/i2c/busses/i2c-rcar.c +++ b/drivers/i2c/busses/i2c-rcar.c @@ -623,7 +623,7 @@ static int rcar_i2c_master_xfer(struct i2c_adapter *adap, pm_runtime_put(dev); - if (ret < 0) + if (ret < 0 && ret != -EREMOTEIO) dev_err(dev, "error %d : %x\n", ret, priv->flags);
Hm, I'm now getting -EBUSY and -EAGAIN running i2cdetect on R8A7791 base Henninger board. Only when I comment out the above 2 lines, I can get the bus scanned, otherwise I don't see any devices at all.
i2c-detect does not work well on the i2c-rcar due to it insisting on sending or receiving at-least one byte of data.
I've noticed that it works more or less reliable only the first time I run it, on subsequent runs it only sees devices for which a driver is bound, IIRC.
I think it is possible that it confuses some of the bus devices.
Yes, it seems to be the case. However, with these lines commented out, it still works the first time...
WBR, Sergei -- 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