From: Markus Elfring <elfring@xxxxxxxxxxxxxxxxxxxxx> Date: Sun, 25 Sep 2016 08:40:34 +0200 1. Add a definition for the macros "MY_LOG_PREFIX" and "pr_fmt" so that their information can be used for consistent message output. 2. Prefer usage of the macro "pr_info" over the interface "printk" in this function. 3. Reduce number of output function calls. Signed-off-by: Markus Elfring <elfring@xxxxxxxxxxxxxxxxxxxxx> --- v2: Yesterday a software development discussion pointed weaknesses out around the previous update steps "3" and "4". Now I propose this update variant in the hope that my second approach for this software module will work as desired and can be accepted a bit easier. Will the script "checkpatch.pl" need another improvement so that the following information can be avoided for my use case anyhow? ERROR: Macros with complex values should be enclosed in parentheses drivers/input/joystick/joydump.c | 40 ++++++++++++++++++++++------------------ 1 file changed, 22 insertions(+), 18 deletions(-) diff --git a/drivers/input/joystick/joydump.c b/drivers/input/joystick/joydump.c index f9f6cbe..e23c499 100644 --- a/drivers/input/joystick/joydump.c +++ b/drivers/input/joystick/joydump.c @@ -27,6 +27,8 @@ * Vojtech Pavlik, Simunkova 1594, Prague 8, 182 00 Czech Republic */ +#define MY_LOG_PREFIX KBUILD_MODNAME ": " +#define pr_fmt(fmt) MY_LOG_PREFIX fmt #include <linux/module.h> #include <linux/gameport.h> #include <linux/kernel.h> @@ -55,27 +57,31 @@ static int joydump_connect(struct gameport *gameport, struct gameport_driver *dr unsigned long flags; unsigned char u; - printk(KERN_INFO "joydump: ,------------------ START ----------------.\n"); - printk(KERN_INFO "joydump: | Dumping: %30s |\n", gameport->phys); - printk(KERN_INFO "joydump: | Speed: %28d kHz |\n", gameport->speed); + pr_info(",------------------ START ----------------.\n" + MY_LOG_PREFIX "| Dumping: %30s |\n" + MY_LOG_PREFIX "| Speed: %28d kHz |\n", + gameport->phys, + gameport->speed); if (gameport_open(gameport, drv, GAMEPORT_MODE_RAW)) { - - printk(KERN_INFO "joydump: | Raw mode not available - trying cooked. |\n"); - + pr_info("| Raw mode not available - trying cooked. |\n"); if (gameport_open(gameport, drv, GAMEPORT_MODE_COOKED)) { - - printk(KERN_INFO "joydump: | Cooked not available either. Failing. |\n"); - printk(KERN_INFO "joydump: `------------------- END -----------------'\n"); + pr_info("| Cooked not available either. Failing. |\n" + MY_LOG_PREFIX + "`------------------- END -----------------'\n"); return -ENODEV; } gameport_cooked_read(gameport, axes, &buttons); for (i = 0; i < 4; i++) - printk(KERN_INFO "joydump: | Axis %d: %4d. |\n", i, axes[i]); - printk(KERN_INFO "joydump: | Buttons %02x. |\n", buttons); - printk(KERN_INFO "joydump: `------------------- END -----------------'\n"); + pr_info("| Axis %d: %4d. |\n", + i, + axes[i]); + pr_info("| Buttons %02x. |\n" + MY_LOG_PREFIX + "`------------------- END -----------------'\n", + buttons); } timeout = gameport_time(gameport, 10000); /* 10 ms */ @@ -119,16 +125,15 @@ static int joydump_connect(struct gameport *gameport, struct gameport_driver *dr t = i; dump = buf; prev = dump; - - printk(KERN_INFO "joydump: >------------------ DATA -----------------<\n"); - printk(KERN_INFO "joydump: | index: %3d delta: %3d us data: ", 0, 0); + pr_info(">------------------ DATA -----------------<\n" + MY_LOG_PREFIX "| index: %3d delta: %3d us data: ", 0, 0); for (j = 7; j >= 0; j--) printk("%d", (dump->data >> j) & 1); printk(" |\n"); dump++; for (i = 1; i < t; i++, dump++, prev++) { - printk(KERN_INFO "joydump: | index: %3d delta: %3d us data: ", + pr_info("| index: %3d delta: %3d us data: ", i, dump->time - prev->time); for (j = 7; j >= 0; j--) printk("%d", (dump->data >> j) & 1); @@ -137,8 +142,7 @@ static int joydump_connect(struct gameport *gameport, struct gameport_driver *dr kfree(buf); jd_end: - printk(KERN_INFO "joydump: `------------------- END -----------------'\n"); - + pr_info("`------------------- END -----------------'\n"); return 0; } -- 2.10.0 -- To unsubscribe from this list: send the line "unsubscribe kernel-janitors" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html