[v1,1/1] media: drxk: Use %*ph for printing hexdump of a small buffer
Commit Message
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
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) {
@@ -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) {