Writing to an AT24C32 generates on average 2x i2c transfer errors per
32-byte page write. Which amounts to a lot for a 4k write. This is due
to the fact that the chip doesn't respond during it's internal write
cycle when the at24 driver tries and retries the next write.
Only a handful drivers use dev_err() on transfer error, so switch to
dev_dbg() instead.

Signed-off-by: Noralf Trønnes <nor...@tronnes.org>
Reviewed-by: Eric Anholt <e...@anholt.net>
---
 drivers/i2c/busses/i2c-bcm2835.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/i2c/busses/i2c-bcm2835.c b/drivers/i2c/busses/i2c-bcm2835.c
index d2ba1a4..54d510a 100644
--- a/drivers/i2c/busses/i2c-bcm2835.c
+++ b/drivers/i2c/busses/i2c-bcm2835.c
@@ -216,7 +216,7 @@ static int bcm2835_i2c_xfer_msg(struct bcm2835_i2c_dev 
*i2c_dev,
            (msg->flags & I2C_M_IGNORE_NAK))
                return 0;
 
-       dev_err(i2c_dev->dev, "i2c transfer failed: %x\n", i2c_dev->msg_err);
+       dev_dbg(i2c_dev->dev, "i2c transfer failed: %x\n", i2c_dev->msg_err);
 
        if (i2c_dev->msg_err & BCM2835_I2C_S_ERR)
                return -EREMOTEIO;
-- 
2.8.2

Reply via email to