kernel: bump 4.9 to 4.9.137
[openwrt/openwrt.git] / target / linux / brcm2708 / patches-4.9 / 950-0108-i2c-bcm2835-Use-dev_dbg-logging-on-transfer-errors.patch
1 From bff25210b88dc7b71ee9c2626e42a939072dec64 Mon Sep 17 00:00:00 2001
2 From: =?UTF-8?q?Noralf=20Tr=C3=B8nnes?= <noralf@tronnes.org>
3 Date: Mon, 19 Sep 2016 17:19:41 +0200
4 Subject: [PATCH] i2c: bcm2835: Use dev_dbg logging on transfer errors
5 MIME-Version: 1.0
6 Content-Type: text/plain; charset=UTF-8
7 Content-Transfer-Encoding: 8bit
8
9 Writing to an AT24C32 generates on average 2x i2c transfer errors per
10 32-byte page write. Which amounts to a lot for a 4k write. This is due
11 to the fact that the chip doesn't respond during it's internal write
12 cycle when the at24 driver tries and retries the next write.
13 Only a handful drivers use dev_err() on transfer error, so switch to
14 dev_dbg() instead.
15
16 Signed-off-by: Noralf Trønnes <noralf@tronnes.org>
17 Reviewed-by: Eric Anholt <eric@anholt.net>
18 ---
19 drivers/i2c/busses/i2c-bcm2835.c | 2 +-
20 1 file changed, 1 insertion(+), 1 deletion(-)
21
22 --- a/drivers/i2c/busses/i2c-bcm2835.c
23 +++ b/drivers/i2c/busses/i2c-bcm2835.c
24 @@ -218,7 +218,7 @@ static int bcm2835_i2c_xfer_msg(struct b
25 (msg->flags & I2C_M_IGNORE_NAK))
26 return 0;
27
28 - dev_err(i2c_dev->dev, "i2c transfer failed: %x\n", i2c_dev->msg_err);
29 + dev_dbg(i2c_dev->dev, "i2c transfer failed: %x\n", i2c_dev->msg_err);
30
31 if (i2c_dev->msg_err & BCM2835_I2C_S_ERR)
32 return -EREMOTEIO;