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@xxxxxxxxxxxxxxx> > --- > 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) {