使用checkpatch.pl输出的主要错误或警告
scripts/checkpatch. pl输出的错误或警告有很多种,其中有一些比较具有代表性的,如下所示。在编写的阶段就应当充分注意它们。
错误
·换行符为DOS格式(CR+LF)。
·行首、行尾有多余的空格。
·不是用制表符,而是用空格缩进。
·switch语句和case语句的缩进不一致。
·函数定义块(block)以外的“{”写在独立的行中。
·注释符使用的是“//”。
·全局变量或静态变量是明确指定以0初始化的。
·前括号“(”或“[”后面有多余的空格。
·后括号“)”或“]”前面有多余的空格。
·逗号“,”后面没有空格。
·if、for、while的前括号“(”前面没有空格。
·else未与if块结尾的“}”写在同一行。
·使用了将来要废弃的头文件或函数。
·补丁内没有Signed-off-by行。
警告
·补丁内含有的路径起点不是内核源码树的根目录。
·1行的长度超过80字。
·制表符前面有空格。
·const关键词的使用方法有问题。
·printk()没有指定输出级别(KERN_*)。
·goto的分支终点的标签label缩进。
·用“{}”括住了只有1行的代码块。
·使用了volatile修饰符。
·kmalloc()的返回值已经转换。