Input: iforce - reformat the packet dump output
authorTim Schumacher <timschumi@gmx.de>
Tue, 24 Jul 2018 17:46:47 +0000 (10:46 -0700)
committerDmitry Torokhov <dmitry.torokhov@gmail.com>
Fri, 27 Jul 2018 00:04:46 +0000 (17:04 -0700)
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>
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
drivers/input/joystick/iforce/iforce-ff.c
drivers/input/joystick/iforce/iforce-main.c
drivers/input/joystick/iforce/iforce-packets.c
drivers/input/joystick/iforce/iforce.h

index 2ed923874bbc0d8c2e177bf91da65952cf60548b..3536d5f5ad18210a8f20a102912e16a2bf71f8ce 100644 (file)
@@ -52,7 +52,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;
 }
 
@@ -174,7 +174,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;
 }
index 95bbd61d3fbed6f01ecb93d0c7a4b6b2861bb1ea..f430097035746939a7bb2619e2f0dcb0e63369ac 100644 (file)
@@ -356,7 +356,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.
index 1cea950276dd7801ecae8d975ef9b1125a6491d0..c10169f4554ec8cddcd9439e0549af09ddc7c0b4 100644 (file)
@@ -29,14 +29,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);
 }
 
 /*
index aee43d14f699cf8f785b0f2ee77fa6d862591880..0e9d01f8bcb6445545d24884d3b39f61d547a8b5 100644 (file)
@@ -154,7 +154,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 */