diff mbox series

[v1,1/1] media: drxk: Use %*ph for printing hexdump of a small buffer

Message ID 20230612212038.3876-1-andriy.shevchenko@linux.intel.com
State Superseded
Headers show
Series [v1,1/1] media: drxk: Use %*ph for printing hexdump of a small buffer | expand

Commit Message

Andy Shevchenko June 12, 2023, 9:20 p.m. UTC
The kernel already has a helper to print a hexdump of a small
buffer via pointer extension. Use that instead of open coded
variant.

In long term it helps to kill pr_cont() or at least narrow down
its use.

Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
---
 drivers/media/dvb-frontends/drxk_hard.c | 28 ++++++-------------------
 1 file changed, 6 insertions(+), 22 deletions(-)

Comments

Hans Verkuil July 19, 2023, 7:53 a.m. UTC | #1
Hi Andy,

On 12/06/2023 23:20, Andy Shevchenko wrote:
> The kernel already has a helper to print a hexdump of a small
> buffer via pointer extension. Use that instead of open coded
> variant.
> 
> In long term it helps to kill pr_cont() or at least narrow down
> its use.
> 
> Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
> ---
>  drivers/media/dvb-frontends/drxk_hard.c | 28 ++++++-------------------
>  1 file changed, 6 insertions(+), 22 deletions(-)
> 
> diff --git a/drivers/media/dvb-frontends/drxk_hard.c b/drivers/media/dvb-frontends/drxk_hard.c
> index 3301ef75d441..14035deeb6d8 100644
> --- a/drivers/media/dvb-frontends/drxk_hard.c
> +++ b/drivers/media/dvb-frontends/drxk_hard.c
> @@ -229,13 +229,8 @@ static int i2c_write(struct drxk_state *state, u8 adr, u8 *data, int len)
>  	struct i2c_msg msg = {
>  	    .addr = adr, .flags = 0, .buf = data, .len = len };
>  
> -	dprintk(3, ":");
> -	if (debug > 2) {
> -		int i;
> -		for (i = 0; i < len; i++)
> -			pr_cont(" %02x", data[i]);
> -		pr_cont("\n");
> -	}
> +	dprintk(3, ": %*ph\n", len, data);
> +
>  	status = drxk_i2c_transfer(state, &msg, 1);
>  	if (status >= 0 && status != 1)
>  		status = -EIO;
> @@ -268,14 +263,8 @@ static int i2c_read(struct drxk_state *state,
>  		return status;
>  	}
>  	if (debug > 2) {
> -		int i;
> -		dprintk(2, ": read from");
> -		for (i = 0; i < len; i++)
> -			pr_cont(" %02x", msg[i]);
> -		pr_cont(", value = ");
> -		for (i = 0; i < alen; i++)
> -			pr_cont(" %02x", answ[i]);
> -		pr_cont("\n");
> +		dprintk(2, ": read from %*ph, value = %*ph\n", len, msg,
> +			alen, answ);

The patch looks good, except here the dprintk debug level should be 3, not 2.
With that change the 'if (debug > 2)' can be dropped as well.

Regards,

	Hans

>  	}
>  	return 0;
>  }
> @@ -441,13 +430,8 @@ static int write_block(struct drxk_state *state, u32 address,
>  		}
>  		memcpy(&state->chunk[adr_length], p_block, chunk);
>  		dprintk(2, "(0x%08x, 0x%02x)\n", address, flags);
> -		if (debug > 1) {
> -			int i;
> -			if (p_block)
> -				for (i = 0; i < chunk; i++)
> -					pr_cont(" %02x", p_block[i]);
> -			pr_cont("\n");
> -		}
> +		if (p_block)
> +			dprintk(2, "%*ph\n", chunk, p_block);
>  		status = i2c_write(state, state->demod_address,
>  				   &state->chunk[0], chunk + adr_length);
>  		if (status < 0) {
diff mbox series

Patch

diff --git a/drivers/media/dvb-frontends/drxk_hard.c b/drivers/media/dvb-frontends/drxk_hard.c
index 3301ef75d441..14035deeb6d8 100644
--- a/drivers/media/dvb-frontends/drxk_hard.c
+++ b/drivers/media/dvb-frontends/drxk_hard.c
@@ -229,13 +229,8 @@  static int i2c_write(struct drxk_state *state, u8 adr, u8 *data, int len)
 	struct i2c_msg msg = {
 	    .addr = adr, .flags = 0, .buf = data, .len = len };
 
-	dprintk(3, ":");
-	if (debug > 2) {
-		int i;
-		for (i = 0; i < len; i++)
-			pr_cont(" %02x", data[i]);
-		pr_cont("\n");
-	}
+	dprintk(3, ": %*ph\n", len, data);
+
 	status = drxk_i2c_transfer(state, &msg, 1);
 	if (status >= 0 && status != 1)
 		status = -EIO;
@@ -268,14 +263,8 @@  static int i2c_read(struct drxk_state *state,
 		return status;
 	}
 	if (debug > 2) {
-		int i;
-		dprintk(2, ": read from");
-		for (i = 0; i < len; i++)
-			pr_cont(" %02x", msg[i]);
-		pr_cont(", value = ");
-		for (i = 0; i < alen; i++)
-			pr_cont(" %02x", answ[i]);
-		pr_cont("\n");
+		dprintk(2, ": read from %*ph, value = %*ph\n", len, msg,
+			alen, answ);
 	}
 	return 0;
 }
@@ -441,13 +430,8 @@  static int write_block(struct drxk_state *state, u32 address,
 		}
 		memcpy(&state->chunk[adr_length], p_block, chunk);
 		dprintk(2, "(0x%08x, 0x%02x)\n", address, flags);
-		if (debug > 1) {
-			int i;
-			if (p_block)
-				for (i = 0; i < chunk; i++)
-					pr_cont(" %02x", p_block[i]);
-			pr_cont("\n");
-		}
+		if (p_block)
+			dprintk(2, "%*ph\n", chunk, p_block);
 		status = i2c_write(state, state->demod_address,
 				   &state->chunk[0], chunk + adr_length);
 		if (status < 0) {