skd_main: use %*ph to dump small buffers
PATCH 1/1 skd_main: use %*ph to dump small buffers
Replace custom approach by %*ph specifier to dump small buffers in hex format.
Unfortunately we can't use print_hex_dump_bytes() here since tha gap is present, though one familiar with the code may change this.
--- drivers/block/skd_main.c | 16 ++++------------ 1 file changed, 4 insertions(+), 12 deletions(-)
drivers/block/skd_main.c +4 -12
@@ -2138,12 +2138,8 @@ static void skd_send_fitmsg(struct skd_device *skdev,u8 *bp = (u8 *)skmsg->msg_buf;int i;for (i =0 ; i < skmsg->length; i +=8 ) { -pr_debug ("%s:%s:%d msg[%2d] %02x %02x %02x %02x " -"%02x %02x %02x %02x\n" , - skdev->name, __func__, __LINE__, - i, bp[i +0 ], bp[i +1 ], bp[i +2 ], - bp[i +3 ], bp[i +4 ], bp[i +5 ], - bp[i +6 ], bp[i +7 ]); +pr_debug ("%s:%s:%d msg[%2d] %8ph\n" , + skdev->name, __func__, __LINE__, i, bp[i]);if (i ==0 ) i =64 -8 ; }
@@ -2164,7 +2160,6 @@ static void skd_send_fitmsg(struct skd_device *skdev, qcmd |=FIT_QCMD_MSGSIZE_64 ;SKD_WRITEQ (skdev, qcmd,FIT_Q_COMMAND ); - } static void skd_send_special_fitmsg(struct skd_device *skdev,
@@ -2177,11 +2172,8 @@ static void skd_send_special_fitmsg(struct skd_device *skdev,int i;for (i =0 ; i <SKD_N_SPECIAL_FITMSG_BYTES ; i +=8 ) { -pr_debug ("%s:%s:%d spcl[%2d] %02x %02x %02x %02x " -"%02x %02x %02x %02x\n" , - skdev->name, __func__, __LINE__, i, - bp[i +0 ], bp[i +1 ], bp[i +2 ], bp[i +3 ], - bp[i +4 ], bp[i +5 ], bp[i +6 ], bp[i +7 ]); +pr_debug ("%s:%s:%d spcl[%2d] %8ph\n" , + skdev->name, __func__, __LINE__, i, bp[i]);if (i ==0 ) i =64 -8 ; }
Signature · 1 line
2.8.1
Quoted 4 lines · Andy Shevchenko
Replace custom approach by %*ph specifier to dump small buffers in hex format.
Unfortunately we can't use
print_hex_dump_bytes()here since tha gap is present, though one familiar with the code may change this.
Did you test this?
CC [M] drivers/block/skd_main.o
In file included from include/linux/kernel.h:13:0,
from drivers/block/skd_main.c:19:drivers/block/skd_main.c: In function ‘skd_send_fitmsg’:include/linux/kern_levels.h:4:18: warning: format ‘%p’ expects argument of type ‘void *’, but argument 6 has type ‘int’ [-Wformat=]
#define KERN_SOH "\001" /* ASCII Start Of Header */
^
include/linux/printk.h:114:10: note: in definition of macro ‘no_printk’
printk(fmt, ##__VA_ARGS__); \
^
include/linux/kern_levels.h:14:20: note: in expansion of macro
‘KERN_SOH’
#define KERN_DEBUG KERN_SOH "7" /* debug-level messages */
^
include/linux/printk.h:289:12: note: in expansion of macro ‘KERN_DEBUG’
no_printk(KERN_DEBUG pr_fmt(fmt), ##__VA_ARGS__)
^
drivers/block/skd_main.c:2141:4: note: in expansion of macro ‘pr_debug’
pr_debug("%s:%s:%d msg[%2d] %8ph\n",
^
drivers/block/skd_main.c: In function ‘skd_send_special_fitmsg’:
include/linux/kern_levels.h:4:18: warning: format ‘%p’ expects argument
of type ‘void *’, but argument 6 has type ‘int’ [-Wformat=]
#define KERN_SOH "\001" /* ASCII Start Of Header */
^
include/linux/printk.h:114:10: note: in definition of macro ‘no_printk’
printk(fmt, ##__VA_ARGS__); \
^
include/linux/kern_levels.h:14:20: note: in expansion of macro
‘KERN_SOH’
#define KERN_DEBUG KERN_SOH "7" /* debug-level messages */
^
include/linux/printk.h:289:12: note: in expansion of macro ‘KERN_DEBUG’
no_printk(KERN_DEBUG pr_fmt(fmt), ##__VA_ARGS__)
^
drivers/block/skd_main.c:2175:4: note: in expansion of macro ‘pr_debug’
pr_debug("%s:%s:%d spcl[%2d] %8ph\n",
^Signature · 1 line
Jens Axboe
Quoted 10 lines · Jens Axboe
Quoted 6 lines · Andy Shevchenko
Replace custom approach by %*ph specifier to dump small buffers in hex format.
Unfortunately we can't use
print_hex_dump_bytes()here since tha gap is present, though one familiar with the code may change this.Did you test this?
Apparently I missed this somehow.
Typo is obvious, b[i] -> &b[i]
I will send an update and be sure that is compiled successfully. Thanks!
Quoted 43 lines
CC [M]
drivers/block/skd_main.o
In file included frominclude/linux/kernel.h:13:0,
fromdrivers/block/skd_main.c:19:drivers/block/skd_main.c: In function ‘skd_send_fitmsg’:include/linux/kern_levels.h:4:18: warning: format ‘%p’ expects argument of type ‘void *’, but argument 6 has type ‘int’ [-Wformat=]#define KERN_SOH "\001" /* ASCII Start Of Header */ ^ include/linux/printk.h:114:10: note: in definition of macro ‘no_printk’ printk(fmt, ##__VA_ARGS__); \ ^ include/linux/kern_levels.h:14:20: note: in expansion of macro ‘KERN_SOH’ #define KERN_DEBUG KERN_SOH "7" /* debug-level messages */ ^ include/linux/printk.h:289:12: note: in expansion of macro ‘KERN_DEBUG’ no_printk(KERN_DEBUG pr_fmt(fmt), ##__VA_ARGS__) ^ drivers/block/skd_main.c:2141:4: note: in expansion of macro ‘pr_debug’ pr_debug("%s:%s:%d msg[%2d] %8ph\n", ^ drivers/block/skd_main.c: In function ‘skd_send_special_fitmsg’: include/linux/kern_levels.h:4:18: warning: format ‘%p’ expects argument of type ‘void *’, but argument 6 has type ‘int’ [-Wformat=] #define KERN_SOH "\001" /* ASCII Start Of Header */ ^ include/linux/printk.h:114:10: note: in definition of macro ‘no_printk’ printk(fmt, ##__VA_ARGS__); \ ^ include/linux/kern_levels.h:14:20: note: in expansion of macro ‘KERN_SOH’ #define KERN_DEBUG KERN_SOH "7" /* debug-level messages */ ^ include/linux/printk.h:289:12: note: in expansion of macro ‘KERN_DEBUG’ no_printk(KERN_DEBUG pr_fmt(fmt), ##__VA_ARGS__) ^ drivers/block/skd_main.c:2175:4: note: in expansion of macro ‘pr_debug’ pr_debug("%s:%s:%d spcl[%2d] %8ph\n", ^--
Jens Axboe
Signature · 2 lines
With Best Regards, Andy Shevchenko