Hi Habi S Ravi,

The pr_* macros (with exception of pr_debug) are simple shorthand definitions
in include/linux/printk.h for their respective printk call and should probably 
be used in newer drivers. 
pr_devel and pr_debug are replaced with printk(KERN_DEBUG ... if the kernel was
compiled with DEBUG, otherwise replaced with an empty statement. 
For drivers the pr_debug should not be used anymore (use dev_dbg instead). 

if you include the following line on top of the code

#define pr_fmt(fmt) KBUILD_MODNAME ": " fmt

you will be able to get the name of the module printed along with the message 
on the console 
or in kernel logs depending on the priority. This is good coding pratice to 
indentify bugs.

-Anand Moon

On Saturday, April 5, 2014 10:52 AM, HABI S RAVI <[email protected]> wrote:

Hi,
I am trying to fix a coding issue . I get the following warning when my module 
is checked with checkpatch.pl.
How can i remove the warning. I see a lot of drivers using printk() function.


$ perl ~/linux-stable/scripts/checkpatch.pl -f hello.c

WARNING: Prefer netdev_dbg(netdev, ... then dev_dbg(dev, ... then
pr_debug(...  to printk(KERN_DEBUG ...
#6: FILE: hello.c:6:
+       printk(KERN_DEBUG "Hello World!\n");

WARNING: Prefer netdev_dbg(netdev, ... then dev_dbg(dev, ... then
pr_debug(...  to printk(KERN_DEBUG ...
#12: FILE: hello.c:12:
+       printk(KERN_DEBUG "hello module unloaded\n");


_______________________________________________
Kernelnewbies mailing list
[email protected]
http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies

_______________________________________________
Kernelnewbies mailing list
[email protected]
http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies

Reply via email to