Re: [PATCH v2 3/8] i2c: bcm2835: Use ratelimited logging on transfer errors

2016-09-27 Thread Noralf Trønnes


Den 27.09.2016 15:01, skrev Martin Sperl:

On 27 Sep 2016, at 13:57, Noralf Trønnes  wrote:

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.
Reduce this flooding of the log by using dev_err_ratelimited().

Signed-off-by: Noralf Trønnes 
Reviewed-by: Eric Anholt 
---
drivers/i2c/busses/i2c-bcm2835.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/drivers/i2c/busses/i2c-bcm2835.c b/drivers/i2c/busses/i2c-bcm2835.c
index df036ed..370a322 100644
--- a/drivers/i2c/busses/i2c-bcm2835.c
+++ b/drivers/i2c/busses/i2c-bcm2835.c
@@ -207,7 +207,8 @@ 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_err_ratelimited(i2c_dev->dev, "i2c transfer failed: %x\n",
+i2c_dev->msg_err);

Do we really need this error message at all?

Maybe just remove it instead, because error messages during
"normal"/successfull operations of at24 seems  strange.

Or make it a debug message instead.


I have looked through 64 i2c bus drivers, 8 use dev_err and 2 use dev_warn
on transfer errors (not timeouts). Several use dev_dbg.

I'll change it to dev_dbg instead. Thanks.

Noralf.



Re: [PATCH v2 3/8] i2c: bcm2835: Use ratelimited logging on transfer errors

2016-09-27 Thread Noralf Trønnes


Den 27.09.2016 15:01, skrev Martin Sperl:

On 27 Sep 2016, at 13:57, Noralf Trønnes  wrote:

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.
Reduce this flooding of the log by using dev_err_ratelimited().

Signed-off-by: Noralf Trønnes 
Reviewed-by: Eric Anholt 
---
drivers/i2c/busses/i2c-bcm2835.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/drivers/i2c/busses/i2c-bcm2835.c b/drivers/i2c/busses/i2c-bcm2835.c
index df036ed..370a322 100644
--- a/drivers/i2c/busses/i2c-bcm2835.c
+++ b/drivers/i2c/busses/i2c-bcm2835.c
@@ -207,7 +207,8 @@ 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_err_ratelimited(i2c_dev->dev, "i2c transfer failed: %x\n",
+i2c_dev->msg_err);

Do we really need this error message at all?

Maybe just remove it instead, because error messages during
"normal"/successfull operations of at24 seems  strange.

Or make it a debug message instead.


I have looked through 64 i2c bus drivers, 8 use dev_err and 2 use dev_warn
on transfer errors (not timeouts). Several use dev_dbg.

I'll change it to dev_dbg instead. Thanks.

Noralf.



Re: [PATCH v2 3/8] i2c: bcm2835: Use ratelimited logging on transfer errors

2016-09-27 Thread Martin Sperl

> On 27 Sep 2016, at 13:57, Noralf Trønnes  wrote:
> 
> 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.
> Reduce this flooding of the log by using dev_err_ratelimited().
> 
> Signed-off-by: Noralf Trønnes 
> Reviewed-by: Eric Anholt 
> ---
> drivers/i2c/busses/i2c-bcm2835.c | 3 ++-
> 1 file changed, 2 insertions(+), 1 deletion(-)
> 
> diff --git a/drivers/i2c/busses/i2c-bcm2835.c 
> b/drivers/i2c/busses/i2c-bcm2835.c
> index df036ed..370a322 100644
> --- a/drivers/i2c/busses/i2c-bcm2835.c
> +++ b/drivers/i2c/busses/i2c-bcm2835.c
> @@ -207,7 +207,8 @@ 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_err_ratelimited(i2c_dev->dev, "i2c transfer failed: %x\n",
> +i2c_dev->msg_err);
Do we really need this error message at all?

Maybe just remove it instead, because error messages during 
"normal"/successfull operations of at24 seems  strange.

Or make it a debug message instead.

Martin



Re: [PATCH v2 3/8] i2c: bcm2835: Use ratelimited logging on transfer errors

2016-09-27 Thread Martin Sperl

> On 27 Sep 2016, at 13:57, Noralf Trønnes  wrote:
> 
> 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.
> Reduce this flooding of the log by using dev_err_ratelimited().
> 
> Signed-off-by: Noralf Trønnes 
> Reviewed-by: Eric Anholt 
> ---
> drivers/i2c/busses/i2c-bcm2835.c | 3 ++-
> 1 file changed, 2 insertions(+), 1 deletion(-)
> 
> diff --git a/drivers/i2c/busses/i2c-bcm2835.c 
> b/drivers/i2c/busses/i2c-bcm2835.c
> index df036ed..370a322 100644
> --- a/drivers/i2c/busses/i2c-bcm2835.c
> +++ b/drivers/i2c/busses/i2c-bcm2835.c
> @@ -207,7 +207,8 @@ 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_err_ratelimited(i2c_dev->dev, "i2c transfer failed: %x\n",
> +i2c_dev->msg_err);
Do we really need this error message at all?

Maybe just remove it instead, because error messages during 
"normal"/successfull operations of at24 seems  strange.

Or make it a debug message instead.

Martin



[PATCH v2 3/8] i2c: bcm2835: Use ratelimited logging on transfer errors

2016-09-27 Thread Noralf Trønnes
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.
Reduce this flooding of the log by using dev_err_ratelimited().

Signed-off-by: Noralf Trønnes 
Reviewed-by: Eric Anholt 
---
 drivers/i2c/busses/i2c-bcm2835.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/drivers/i2c/busses/i2c-bcm2835.c b/drivers/i2c/busses/i2c-bcm2835.c
index df036ed..370a322 100644
--- a/drivers/i2c/busses/i2c-bcm2835.c
+++ b/drivers/i2c/busses/i2c-bcm2835.c
@@ -207,7 +207,8 @@ 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_err_ratelimited(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



[PATCH v2 3/8] i2c: bcm2835: Use ratelimited logging on transfer errors

2016-09-27 Thread Noralf Trønnes
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.
Reduce this flooding of the log by using dev_err_ratelimited().

Signed-off-by: Noralf Trønnes 
Reviewed-by: Eric Anholt 
---
 drivers/i2c/busses/i2c-bcm2835.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/drivers/i2c/busses/i2c-bcm2835.c b/drivers/i2c/busses/i2c-bcm2835.c
index df036ed..370a322 100644
--- a/drivers/i2c/busses/i2c-bcm2835.c
+++ b/drivers/i2c/busses/i2c-bcm2835.c
@@ -207,7 +207,8 @@ 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_err_ratelimited(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