最近我在Linux源代码树中运行了scripts/checkpatch.pl脚本,并收到了以下警告:
WARNING: Prefer netdev_dbg(netdev, ... then dev_dbg(dev, ... then pr_debug(... to printk(KERN_DEBUG ...
printk(KERN_DEBUG "Hello World! \n");
我知道pr_debug和dev_dbg提供的动态调试界面比printk有明显优势,因此它们比printk更受欢迎。即使在dev_dbg和pr_debug之间,如果我们有一个struct device来标准化设备信息输出和我们的调试消息,我们也更喜欢使用dev_dbg。它可以避免“编辑/重建/重新启动循环”,并且还允许通过dynamic_debug/control界面维护整洁的日志。
我的问题是:为什么netdev_dbg优先于dev_dbg?