使用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()的返回值已经转换。