Message ID | 20180724152106.27109-1-timschumi@gmx.de (mailing list archive) |
---|---|
State | Accepted |
Headers | show |
Series | [v2] input/iforce: Reformat the packet dump output | expand |
On Tue, Jul 24, 2018 at 05:21:06PM +0200, Tim Schumacher wrote: > Previously, packets that have been dumped are shown in the > kernel log like this: > > drivers/input/joystick/iforce/iforce-packets.c: info cmd = ff04, data = > 56 > 02 > 04 > 00 > > Use dev_dbg to dump the packages only when requested and to list > the parent device as well. Use printf logic to generate the hexdump > instead of looping through every char that needs to be printed (which > in turn fixes the unnecessary newlines and looks more clean in general). > > The resulting package dump output does now look like this: > > usb 2-8: iforce_dump_packet info cmd = ff04, data = 56 02 04 00 > > Signed-off-by: Tim Schumacher <timschumi@gmx.de> Applied, thank you. > --- > drivers/input/joystick/iforce/iforce-ff.c | 4 ++-- > drivers/input/joystick/iforce/iforce-main.c | 2 +- > drivers/input/joystick/iforce/iforce-packets.c | 10 +++------- > drivers/input/joystick/iforce/iforce.h | 2 +- > 4 files changed, 7 insertions(+), 11 deletions(-) > > diff --git a/drivers/input/joystick/iforce/iforce-ff.c b/drivers/input/joystick/iforce/iforce-ff.c > index 0de9a0943a9e..c939d45207f9 100644 > --- a/drivers/input/joystick/iforce/iforce-ff.c > +++ b/drivers/input/joystick/iforce/iforce-ff.c > @@ -56,7 +56,7 @@ static int make_magnitude_modifier(struct iforce* iforce, > > iforce_send_packet(iforce, FF_CMD_MAGNITUDE, data); > > - iforce_dump_packet("magnitude: ", FF_CMD_MAGNITUDE, data); > + iforce_dump_packet(iforce, "magnitude", FF_CMD_MAGNITUDE, data); > return 0; > } > > @@ -178,7 +178,7 @@ static int make_condition_modifier(struct iforce* iforce, > data[9] = (100 * lsat) >> 16; > > iforce_send_packet(iforce, FF_CMD_CONDITION, data); > - iforce_dump_packet("condition", FF_CMD_CONDITION, data); > + iforce_dump_packet(iforce, "condition", FF_CMD_CONDITION, data); > > return 0; > } > diff --git a/drivers/input/joystick/iforce/iforce-main.c b/drivers/input/joystick/iforce/iforce-main.c > index a4ab58633136..583e5c77f7da 100644 > --- a/drivers/input/joystick/iforce/iforce-main.c > +++ b/drivers/input/joystick/iforce/iforce-main.c > @@ -360,7 +360,7 @@ int iforce_init_device(struct iforce *iforce) > > for (i = 0; c[i]; i++) > if (!iforce_get_id_packet(iforce, c + i)) > - iforce_dump_packet("info", iforce->ecmd, iforce->edata); > + iforce_dump_packet(iforce, "info", iforce->ecmd, iforce->edata); > > /* > * Disable spring, enable force feedback. > diff --git a/drivers/input/joystick/iforce/iforce-packets.c b/drivers/input/joystick/iforce/iforce-packets.c > index d929c6f05275..2eadc76adffb 100644 > --- a/drivers/input/joystick/iforce/iforce-packets.c > +++ b/drivers/input/joystick/iforce/iforce-packets.c > @@ -33,14 +33,10 @@ static struct { > } iforce_hat_to_axis[16] = {{ 0,-1}, { 1,-1}, { 1, 0}, { 1, 1}, { 0, 1}, {-1, 1}, {-1, 0}, {-1,-1}}; > > > -void iforce_dump_packet(char *msg, u16 cmd, unsigned char *data) > +void iforce_dump_packet(struct iforce *iforce, char *msg, u16 cmd, unsigned char *data) > { > - int i; > - > - printk(KERN_DEBUG __FILE__ ": %s cmd = %04x, data = ", msg, cmd); > - for (i = 0; i < LO(cmd); i++) > - printk("%02x ", data[i]); > - printk("\n"); > + dev_dbg(iforce->dev->dev.parent, "%s %s cmd = %04x, data = %*ph\n", > + __func__, msg, cmd, LO(cmd), data); > } > > /* > diff --git a/drivers/input/joystick/iforce/iforce.h b/drivers/input/joystick/iforce/iforce.h > index 96ae4f5bd0eb..7abf1b0341c9 100644 > --- a/drivers/input/joystick/iforce/iforce.h > +++ b/drivers/input/joystick/iforce/iforce.h > @@ -158,7 +158,7 @@ int iforce_init_device(struct iforce *iforce); > int iforce_control_playback(struct iforce*, u16 id, unsigned int); > void iforce_process_packet(struct iforce *iforce, u16 cmd, unsigned char *data); > int iforce_send_packet(struct iforce *iforce, u16 cmd, unsigned char* data); > -void iforce_dump_packet(char *msg, u16 cmd, unsigned char *data) ; > +void iforce_dump_packet(struct iforce *iforce, char *msg, u16 cmd, unsigned char *data) ; > int iforce_get_id_packet(struct iforce *iforce, char *packet); > > /* iforce-ff.c */ > -- > 2.18.0 >
diff --git a/drivers/input/joystick/iforce/iforce-ff.c b/drivers/input/joystick/iforce/iforce-ff.c index 0de9a0943a9e..c939d45207f9 100644 --- a/drivers/input/joystick/iforce/iforce-ff.c +++ b/drivers/input/joystick/iforce/iforce-ff.c @@ -56,7 +56,7 @@ static int make_magnitude_modifier(struct iforce* iforce, iforce_send_packet(iforce, FF_CMD_MAGNITUDE, data); - iforce_dump_packet("magnitude: ", FF_CMD_MAGNITUDE, data); + iforce_dump_packet(iforce, "magnitude", FF_CMD_MAGNITUDE, data); return 0; } @@ -178,7 +178,7 @@ static int make_condition_modifier(struct iforce* iforce, data[9] = (100 * lsat) >> 16; iforce_send_packet(iforce, FF_CMD_CONDITION, data); - iforce_dump_packet("condition", FF_CMD_CONDITION, data); + iforce_dump_packet(iforce, "condition", FF_CMD_CONDITION, data); return 0; } diff --git a/drivers/input/joystick/iforce/iforce-main.c b/drivers/input/joystick/iforce/iforce-main.c index a4ab58633136..583e5c77f7da 100644 --- a/drivers/input/joystick/iforce/iforce-main.c +++ b/drivers/input/joystick/iforce/iforce-main.c @@ -360,7 +360,7 @@ int iforce_init_device(struct iforce *iforce) for (i = 0; c[i]; i++) if (!iforce_get_id_packet(iforce, c + i)) - iforce_dump_packet("info", iforce->ecmd, iforce->edata); + iforce_dump_packet(iforce, "info", iforce->ecmd, iforce->edata); /* * Disable spring, enable force feedback. diff --git a/drivers/input/joystick/iforce/iforce-packets.c b/drivers/input/joystick/iforce/iforce-packets.c index d929c6f05275..2eadc76adffb 100644 --- a/drivers/input/joystick/iforce/iforce-packets.c +++ b/drivers/input/joystick/iforce/iforce-packets.c @@ -33,14 +33,10 @@ static struct { } iforce_hat_to_axis[16] = {{ 0,-1}, { 1,-1}, { 1, 0}, { 1, 1}, { 0, 1}, {-1, 1}, {-1, 0}, {-1,-1}}; -void iforce_dump_packet(char *msg, u16 cmd, unsigned char *data) +void iforce_dump_packet(struct iforce *iforce, char *msg, u16 cmd, unsigned char *data) { - int i; - - printk(KERN_DEBUG __FILE__ ": %s cmd = %04x, data = ", msg, cmd); - for (i = 0; i < LO(cmd); i++) - printk("%02x ", data[i]); - printk("\n"); + dev_dbg(iforce->dev->dev.parent, "%s %s cmd = %04x, data = %*ph\n", + __func__, msg, cmd, LO(cmd), data); } /* diff --git a/drivers/input/joystick/iforce/iforce.h b/drivers/input/joystick/iforce/iforce.h index 96ae4f5bd0eb..7abf1b0341c9 100644 --- a/drivers/input/joystick/iforce/iforce.h +++ b/drivers/input/joystick/iforce/iforce.h @@ -158,7 +158,7 @@ int iforce_init_device(struct iforce *iforce); int iforce_control_playback(struct iforce*, u16 id, unsigned int); void iforce_process_packet(struct iforce *iforce, u16 cmd, unsigned char *data); int iforce_send_packet(struct iforce *iforce, u16 cmd, unsigned char* data); -void iforce_dump_packet(char *msg, u16 cmd, unsigned char *data) ; +void iforce_dump_packet(struct iforce *iforce, char *msg, u16 cmd, unsigned char *data) ; int iforce_get_id_packet(struct iforce *iforce, char *packet); /* iforce-ff.c */
Previously, packets that have been dumped are shown in the kernel log like this: drivers/input/joystick/iforce/iforce-packets.c: info cmd = ff04, data = 56 02 04 00 Use dev_dbg to dump the packages only when requested and to list the parent device as well. Use printf logic to generate the hexdump instead of looping through every char that needs to be printed (which in turn fixes the unnecessary newlines and looks more clean in general). The resulting package dump output does now look like this: usb 2-8: iforce_dump_packet info cmd = ff04, data = 56 02 04 00 Signed-off-by: Tim Schumacher <timschumi@gmx.de> --- drivers/input/joystick/iforce/iforce-ff.c | 4 ++-- drivers/input/joystick/iforce/iforce-main.c | 2 +- drivers/input/joystick/iforce/iforce-packets.c | 10 +++------- drivers/input/joystick/iforce/iforce.h | 2 +- 4 files changed, 7 insertions(+), 11 deletions(-)