接前文,已经配置好git工具:
https://www.daodaodao123.com/?p=934
1.订阅邮件列表:
不订阅,发sendemail会被自动弹回;
订阅你感兴趣的模块,最好用gmail邮箱,国内大部分邮箱都会被过滤掉;
http://vger.kernel.org/vger-lists.html
点击对应模块的subscribe,会收到一封确认邮件;恢复确认邮件,订阅成功会受到邮件通知;
订阅方法很简单,按提示操作即可,网上也很多教程;这里说点经验,点击subscribe可能有些延迟,一般几个小时会有回应;用gmail订阅,基本不会失败;
不要重复订阅,不然会受到多个确认邮件;
2.从linux-next获取版本制作patch
linux-next是下一个稳定版的演进版本,这里提交patch,更容易合进主干树;
2.1下载源码
git clone https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git/
专门建个分支来制作补丁
git check -b xxx_branch
2.2 修改代码,提交commit
git add .
//-s会附带上邮件和用户名,这在patch中是必须的
git commit -s -m "comments..."
2.3 生成补丁,
用git做特有补丁,更方便用gmail发送
git format-patch -1 //最近两个commit对比
git format-patch -M master //跟master分支对比
2.4 补丁检查
对补丁进行代码格式检查;
./scripts/checkpatch.pl xxxfix.patch
必须checkpatch零错误,零警告才能发送
2.5 发送patch
(1)获取maintainer列表:
./scripts/get_maintainer.pl脚本会根据补丁修改,自动检测出所属模块及邮件列表
$ ./scripts/get_maintainer.pl 0001-xxx.patch
Felix Fietkau <nbd@nbd.name> (maintainer:MEDIATEK MT76 WIRELESS LAN DRIVER)
Lorenzo Bianconi <lorenzo.bianconi83@gmail.com> (maintainer:MEDIATEK MT76 WIRELESS LAN DRIVER)
Ryder Lee <ryder.lee@mediatek.com> (reviewer:MEDIATEK MT76 WIRELESS LAN DRIVER)
Kalle Valo <kvalo@codeaurora.org> (maintainer:NETWORKING DRIVERS (WIRELESS))
"David S. Miller" <davem@davemloft.net> (maintainer:NETWORKING DRIVERS)
Jakub Kicinski <kuba@kernel.org> (maintainer:NETWORKING DRIVERS)
Matthias Brugger <matthias.bgg@gmail.com> (maintainer:ARM/Mediatek SoC support)
linux-wireless@vger.kernel.org (open list:MEDIATEK MT76 WIRELESS LAN DRIVER)
netdev@vger.kernel.org (open list:NETWORKING DRIVERS)
linux-arm-kernel@lists.infradead.org (moderated list:ARM/Mediatek SoC support)
linux-mediatek@lists.infradead.org (moderated list:ARM/Mediatek SoC support)
linux-kernel@vger.kernel.org (open list)
(2)发送补丁
--to:maintainer
--cc:邮件列表
git send-email --to "xxx@ss.com" --to "yyyy@y.com" --cc "linux-kernel@kernel.ogr" 001xxx.patch
3.收到评审反馈后
3.1 需要修改patch
根据意见修改后,重新制作补丁,提交第二版patch,要更新版本号:
git format-patch HEAD^ --subject-prefix="PATCH v2"
3.2 不需要修改patch
如果只是重新发送(内容不变):
git format-patch HEAD^ --subject-prefix="RESEND"
4.查看patch,review的网站
5.patch被接受的标志
当出现明显的关键词如:"merge","Acked-by:",则表明patch将要合并。
6.参考文献
https://www.kernel.org/doc/html/latest/process/submitting-patches.html
ps:记录一下
4.18发的两个patch,已经合进linux-next20220505版本,接下来就等合进下个5.18-rc6版本;
今天5.9号,看到patch已经合入5.18-rc6版本;接下来,等待合进祖师爷的树stable版本。
合进稳定版stable链接:点击这里