zoukankan      html  css  js  c++  java
  • 如何提交内核补丁--checkpatch.pl使用【转】

    转自:https://blog.csdn.net/qq_29350001/article/details/52056667

    转自: http://blog.csdn.net/ganggexiongqi/article/details/7032625#

     

    补丁检测:./scripts/checkpatch.pl xxx.patch

    这个时候补丁就制作成了,但是还要使用内核提供的补丁检测工具检测一下补丁的正确性,应为我们发布的补丁不能把很明显错误带进去。


    1. helight@Zhwen:linux-2.6$ ./scripts/checkpatch.pl 0001-clean-up-code-style-on-samples-tracepoints-tracepoin.patch   
    2. total: 0 errors, 0 warnings, 9 lines checked  
    3.   
    4. 0001-clean-up-code-style-on-samples-tracepoints-tracepoin.patch has no obvious style problems and is ready for submission.  
    5. helight@Zhwen:linux-2.6$   

     

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

    小结

    使用scripts/checkpatch.pl可以在投稿前检查补丁的格式。将补丁列入邮件列表时,经常可以看到“未按照规则编写,请修改”的提示。一定要在发布前检查补丁的格式,才能集中对补丁内容进行讨论。

    参考文献

     Documentation/CodingStyle(内核源文档)
    —Munehiro IKEDA

    转自: http://book.2cto.com/201302/16274.html

  • 相关阅读:
    Java课程设计---实现登录(2)
    Java课程设计---项目数据库设计(含实体类)
    Java课程设计---学生信息管理系统需求分析及总体设计
    Java课程设计---索引
    【软件测试】基础-概念篇
    【计算机网络】定义、作用、特点计算机网络
    【计算机网络】趣谈网络协议-测试习题
    【Java】Java注释
    【Java】一个简单的Java应用程序
    【Java】Java关键字、含义
  • 原文地址:https://www.cnblogs.com/sky-heaven/p/9395630.html
Copyright © 2011-2022 走看看